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.
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.
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.
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.
See Configuring The Application.
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 of package.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 in package.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.
This development enviornment for this project was created using Cory House's react-slingshot
tool, which is available under the MIT License.
This project is licensed under the MIT License. See LICENSE file for details.
Copyright © 2017 Michael Hadjiosif