Coder Social home page Coder Social logo

githubteamreviewer's Introduction

Github Team Reviewer Build Status

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.

Github Team Reviewer

Installation

Clone the project

$ git clone https://github.com/M6Web/GithubTeamReviewer.git
$ cd GithubTeamReviewer

Install dependencies

$ npm install -g bower gulp
$ npm install
$ bower install

Configuration

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

Run the server

After configuration, you have to build the code and launch the server.

$ gulp serve:dist

It will automatically open the dashboard in your browser.

OAuth

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

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

Installation for dev

Clone and init the project

$ 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

Install dependencies

$ sudo npm install --no-bin-links
$ bower install

Configure your application via config/config.json.

Run the server

$ gulp serve

You can now access the application at http://localhost:9000.

Tests

Test the unbuilt code :

$ gulp test

Test the build :

$ gulp test:dist

Credits

Developed by the Cytron Team of M6 Web.

License

Github Team Reviewer is licensed under the MIT license.

githubteamreviewer's People

Contributors

antoinereneleau avatar b-viguier avatar codeheroics avatar fpietka avatar igitscor avatar julien-gm avatar meroje avatar oltodo avatar pborreli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

githubteamreviewer's Issues

Project without jenkins

I have several projects, including one project without jenkins and suddenly all my pull request does not enter success even if it is possible to merge ? is that this is a side effect ? or it concerns the project are tested?

thanks

Crash on a fresh install

Hello :-),

On a very fresh installation, running gulp serve:dist crashes:

$ gulp serve:dist
[09:07:53] Using gulpfile /private/tmp/GithubTeamReviewer/gulpfile.js
[09:07:53] Starting 'build'...
[09:07:53] Starting 'clean'...
[09:07:53] Finished 'clean' after 7.12 ms
[09:07:53] Starting 'config'...
[09:07:53] Finished 'config' after 87 ms
[09:07:53] Starting 'wiredep'...
[09:07:53] Finished 'wiredep' after 117 ms
[09:07:53] Starting 'scripts:strict'...
[09:07:54] Starting 'partials'...
[09:07:54] Starting 'extras'...
[09:07:54] all files 4.12 kB
[09:07:54] Finished 'scripts:strict' after 531 ms
[09:07:54] all files 990 B
[09:07:54] Finished 'partials' after 262 ms
[09:07:54] Starting 'html'...
[09:07:55] gulp-inject 1 files into index.html.

stream.js:94
      throw er; // Unhandled stream error in pipe.
            ^
Error: ENOENT, no such file or directory '{/private/tmp/GithubTeamReviewer/app/scripts/config.js,/private/tmp/GithubTeamReviewer/.tmp/scripts/config.js}'
    at Object.fs.openSync (fs.js:438:18)
    at Object.fs.readFileSync (fs.js:289:15)
    at DestroyableTransform.<anonymous> (/private/tmp/GithubTeamReviewer/node_modules/gulp-useref/index.js:81:61)
    at Array.forEach (native)
    at DestroyableTransform.<anonymous> (/private/tmp/GithubTeamReviewer/node_modules/gulp-useref/index.js:70:35)
    at Array.forEach (native)
    at DestroyableTransform.<anonymous> (/private/tmp/GithubTeamReviewer/node_modules/gulp-useref/index.js:46:36)
    at Array.forEach (native)
    at DestroyableTransform._transform (/private/tmp/GithubTeamReviewer/node_modules/gulp-useref/index.js:43:15)
    at DestroyableTransform.Transform._read (/private/tmp/GithubTeamReviewer/node_modules/gulp-useref/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:184:10)

:-)

Implement GitHub OAuth

It would be nice to implement GitHub OAuth to avoid sharing a token to everyone (which is a very bad practice, tokens should be treated like passwords), and allow users to see PRs on their private repositories (and only theirs).

Error when serving gulp in docker

Launched into a nodejs / bower / gulp docker (evolution7/nodejs-bower-gulp)

[09:27:31] Using gulpfile /app/gulpfile.js
[09:27:31] Starting 'wiredep'...
[09:27:32] Finished 'wiredep' after 544 ms
[09:27:32] Starting 'watch'...
[09:27:32] Finished 'watch' after 20 ms
[09:27:32] Starting 'config'...
[09:27:32] Finished 'config' after 471 ms
[09:27:32] Starting 'serve'...
[09:27:33] Finished 'serve' after 643 ms
events.js:85
      throw er; // Unhandled 'error' event
            ^
TypeError: Cannot read property 'main' of undefined
    at findMainFiles (/app/node_modules/wiredep/lib/detect-dependencies.js:89:39)
    at /app/node_modules/wiredep/lib/detect-dependencies.js:151:17
    at forOwn (/app/node_modules/wiredep/node_modules/lodash/dist/lodash.js:2106:15)
    at Function.forEach (/app/node_modules/wiredep/node_modules/lodash/dist/lodash.js:3303:9)
    at detectDependencies (/app/node_modules/wiredep/lib/detect-dependencies.js:33:7)
    at wiredep (/app/node_modules/wiredep/wiredep.js:65:39)
    at DestroyableTransform._transform (/app/node_modules/wiredep/wiredep.js:134:34)
    at DestroyableTransform.Transform._read (/app/node_modules/wiredep/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:184:10)
    at DestroyableTransform.Transform._write (/app/node_modules/wiredep/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:172:12)
    at doWrite (/app/node_modules/wiredep/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:237:10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.