github-status-api-gui
v0.7.2
Published
GUI tool to interact with GitHub Status API
Downloads
6
Maintainers
Readme
GitHub Status API GUI
The GitHub Status API GUI is a React/Redux client-side web application which can be used to view and create GitHub commit statuses in any GitHub repository you have access to. The application uses OAuth to allow users to authenticate to GitHub using their own GitHub usernames and passwords.
Prerequisites
Using OAuth with GitHub
In order for your instance of the GitHub Status API GUI application to authenticate to GitHub using OAuth, you must first register a new OAuth application for your instance. For more information, see GitHub's OAuth documentation for developers.
Gatekeeper
In order for OAuth authentication with GitHub to work, you must configure and deploy an instance of the open-source Gatekeeper application to a server. This is due to a security measure GitHub has put in place in it's OAuth authentication API to prevent client-side applications from directly authenticating with GitHub. This restriction ensures that application developers do not inadvertantly disclose their application's GitHub client secret to users by including it in client-side code.
Deploying Gatekeeper
You can easily deploy an instance of Gatekeeper directly to Heroku or Azure by clicking the appropriate button in Gatekeeper's README.md file.
Alternativly, you can clone the Gatekeeper repository and build/deploy Gatekeeper to any web server manually.
Make sure you follow the instructions for setting up Gatekeeper in Gatekeeper's README.md file, including setting the client secret you obtained from GitHub when registering your OAuth application. See Gatekeeper's README.md for more details.
Configuring GitHub Status API GUI
See Configuring The Application.
Known Bugs/Limitations
Compatibility with Node version 6.x
GitHub Status API GUI version 0.7.0 and greater will not work out of the box with Node version 6.x and earlier. This is because Node version 6.x supported the
--harmony-proxies
flag, while Node version 7.x and later changed it to--harmony
.In order to make this project work with Node version 6.x and earlier, change the following line in the
scripts
section ofpackage.json
:"test": "node --harmony node_modules/jest/bin/jest",
to:
"test": "node --harmony_proxies node_modules/jest/bin/jest",
NOTE: You may also have to adjust the
engines.node
property inpackage.json
.
The commits list page is the only page which currently supports pagination of data returned from GitHub API.
For all other views, you can only see the first page of records returned from the GitHub API. By default, the maximum number of records per page of data is 30 (see GitHub issue #45)
Full support for pagination of all data views in the GitHub Status API GUI application will be added in a future release.
Tools Used In Development
This development enviornment for this project was created using Cory House's react-slingshot
tool, which is available under the MIT License.
License
This project is licensed under the MIT License. See LICENSE file for details.
Copyright
Copyright © 2017 Michael Hadjiosif