A monitoring tool that allows you to quickly view all Github pull requests of your teams and their statuses.
View the demo site for a real example.
$ git clone https://github.com/M6Web/GithubTeamReviewer.git
$ cd GithubTeamReviewer
$ npm install -g bower gulp
$ npm install
$ bower install
Please configure a new config/config.json
file from config/config.json.dist
.
Options :
- refreshInterval : time between 2 dashboard updates (be careful with low interval because you can reach API rate limit quickly),
- teams : list of teams, keys are teams names and you can define these properties for each :
- members : an array of Github usernames (optional, default get all members),
- projects : an array of Github repository's names (optional, default get all repositories),
- org : an array of Github organizations,
- apiUrl : url of your Github API (optional, default is
https://api.github.com
), - descendingOrder : allow to change ordering of pull requests (optional, default is
true
). - labels : display labels of pull requests (optional, default is
false
). - milestones : display milestones of pull requests (optional, default is
false
). - reviews : display reviews of pull requests, and allow to highlight reviews of a particular user (optional, default is
false
). - token : authorization token for API calls (optional, it can allow access to more repos and increase API rate limit) NB: if a token is set, OAuth will be ignored for the team
- oauthAppClientId : clientId of the OAuth app the team depends on (optional)
- githubOAuth : OAuth config (optional)
- gatekeeperBaseUrl : url to Gatekeeper (see OAuth section)
- apps : list of the apps you use to auth
- url : base url of GitHub (should be https://github.com or the base url of your GitHub enterprise)
- clientId : clientId of the app
After configuration, you have to build the code and launch the server.
$ gulp serve:dist
It will automatically open the dashboard in your browser.
To use GTR with GitHub OAuth you must :
- Register a new application on GitHub (in Settings > Applications)
- Install Gatekeeper and launch it
- Set your "gatekeeperBaseUrl" and type in your app data (clientId and GitHub URL) in config/config.json (example in config.json.dist)
- Don't forget to link the OAuth app to the teams thanks to the oauthAppClientId property
Then, you should see the Auth button in the upper-right corner of the app !
Use directly the page path in order to select a team.
http://gtr-url/index.html#/myTeam
Colors show the PR statuses :
- black when there is no test
- yellow when the tests are running
- red when tests fail
- green when tests are successful
$ git clone https://github.com/M6Web/GithubTeamReviewer.git
Install Vagrant and configure Vagrantfile
:
$ cp Vagrantfile.dist Vagrantfile
Note : configure your own Vagrantfile and provisionning if necessary.
$ vagrant up
$ vagrant provision # because of npm issue on the first vagrant up
$ vagrant ssh
$ cd /vagrant
$ sudo npm install --no-bin-links
$ bower install
Configure your application via config/config.json
.
$ gulp serve
You can now access the application at http://localhost:9000
.
Test the unbuilt code :
$ gulp test
Test the build :
$ gulp test:dist
Developed by the Cytron Team of M6 Web.
Github Team Reviewer is licensed under the MIT license.