Code Monkey home page Code Monkey logo

github-pr-dashboard's Introduction

github-pr-dashboard

See pull requests at a glance, across multiple repos

Setup

After cloning the repository, run npm install to install dependencies. To build the client-side code, run either npm run dev-build (if you're developing) or npm run build.

Configuration

Copy the file config/config.json.sample to config/config.json. If you are accessing public GitHub, you don't need to change the apiBaseUrl option. If you are accessing a GitHub Enterprise instance, you will need to set apiBaseUrl to the base URL of your GitHub Enterprise installation, e.g. https://github.mycompany.com/api/v3. To use the GitHub Personal Access Token for accessing private repositories, username and password lines in config/config.json can be replaced with a single "token": "MY_PERSONAL_TOKEN" line.

GitHub places a very strict rate limit on unauthenticated requests. If you run into this problem, you will need to add your GitHub username and password in config.json.

Running the server

To run the PR dashbaord server, run npm start. This will start the server, listening on port 8080. You can change the port number by setting a PORT environment variable, e.g. export PORT=80.

Running with Docker

You can build and run a Dockerized version of the app within a container without installing any dependencides locally. Make sure you have already created a config.json as described above.

To build a new application image, in the project directory run:

docker build -t joeattardi/github-pr-dashboard .

To run the application:

docker run -p 8080:8080 -d joeattardi/github-pr-dashboard

or if you specified a custom PORT to run the app on:

docker run -p $PORT:8080 -d joeattardi/github-pr-dashboard

Adding repositories

Once the server is running, visit it in your web browser and click the gear icon.

github-pr-dashboard's People

Contributors

atom-hd avatar camilamacedo86 avatar joeattardi avatar marushkevych avatar mayhew64 avatar mike-dazn avatar nirespire avatar techodepot 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

Watchers

 avatar  avatar  avatar  avatar  avatar

github-pr-dashboard's Issues

Unable to resolve path to module '../../config/config.json' import/no-unresolved

Hi,

I'm trying to run this, but I'm getting this problem. Any idea what can be wrong?

[passos]: ~/Development/Projects/Opensource/github-pr-dashboard [git:master]
→ npm run dev-build

> [email protected] dev-build /Users/passos/Development/Projects/Opensource/github-pr-dashboard
> webpack

Hash: b95ae42d086a5f77cb03
Version: webpack 1.14.0
Time: 4649ms
                      Asset       Size  Chunks             Chunk Names
            images/repo.svg  930 bytes          [emitted]
images/git-pull-request.svg    1.44 kB          [emitted]
                  bundle.js    2.32 MB       0  [emitted]  main
              bundle.js.map    2.72 MB       0  [emitted]  main
                 index.html  531 bytes          [emitted]
   [0] multi main 28 bytes {0} [built]
    + 379 hidden modules

ERROR in ./src/js/app.js

/Users/passos/Development/Projects/Opensource/github-pr-dashboard/src/js/app.js
  7:20  error  Unable to resolve path to module '../config/config.json'  import/no-unresolved

✖ 1 problem (1 error, 0 warnings)


ERROR in ./src/js/app.js
Module not found: Error: Cannot resolve 'file' or 'directory' ../config/config.json in /Users/passos/Development/Projects/Opensource/github-pr-dashboard/src/js
 @ ./src/js/app.js 19:14-46

ERROR in ./src/js/components/Main.jsx

/Users/passos/Development/Projects/Opensource/github-pr-dashboard/src/js/components/Main.jsx
  3:20  error  Unable to resolve path to module '../../config/config.json'  import/no-unresolved

✖ 1 problem (1 error, 0 warnings)


ERROR in ./src/js/components/Main.jsx
Module not found: Error: Cannot resolve 'file' or 'directory' ../../config/config.json in /Users/passos/Development/Projects/Opensource/github-pr-dashboard/src/js/components
 @ ./src/js/components/Main.jsx 15:14-49
Child html-webpack-plugin for "index.html":
        + 3 hidden modules

npm run test - 1 test failed - should add failed repos to the state

`Camilas-MBP:github-pr-dashboard cmacedo$ npm run lint

[email protected] lint /Users/cmacedo/redhat/templates/github-pr-dashboard
eslint src test

/Users/cmacedo/redhat/templates/github-pr-dashboard/src/js/api/githubService.js
94:5 warning Unexpected console statement no-console

✖ 1 problem (0 errors, 1 warning)

Camilas-MBP:github-pr-dashboard cmacedo$ rm -rf npm-debug.log
Camilas-MBP:github-pr-dashboard cmacedo$ npm run lint

[email protected] lint /Users/cmacedo/redhat/templates/github-pr-dashboard
eslint src test

/Users/cmacedo/redhat/templates/github-pr-dashboard/src/js/api/githubService.js
94:5 warning Unexpected console statement no-console

✖ 1 problem (0 errors, 1 warning)

Camilas-MBP:github-pr-dashboard cmacedo$ npm run lint

[email protected] lint /Users/cmacedo/redhat/templates/github-pr-dashboard
eslint src test

/Users/cmacedo/redhat/templates/github-pr-dashboard/src/js/api/githubService.js
94:5 warning Unexpected console statement no-console

✖ 1 problem (0 errors, 1 warning)

Camilas-MBP:github-pr-dashboard cmacedo$ npm run test

[email protected] test /Users/cmacedo/redhat/templates/github-pr-dashboard
karma start

START:
15 01 2017 15:27:54.446:WARN [watcher]: Pattern "/Users/cmacedo/redhat/templates/github-pr-dashboard/test/**/*Spec.jsx" does not match any file.
webpack: wait until bundle finished:
webpack: wait until bundle finished:
webpack: wait until bundle finished:
Hash: db9e6c8f730aff2b5b46
Version: webpack 1.14.0
Time: 3510ms

{...}

Child html-webpack-plugin for "index.html":
Asset Size Chunks Chunk Names
index.html 559 kB 0
chunk {0} index.html 541 kB
[0] .//html-webpack-plugin/lib/loader.js!./src/index.ejs 852 bytes {0} [built]
[1] ./
/lodash/lodash.js 540 kB {0} [built]
[2] (webpack)/buildin/module.js 251 bytes {0} [built]
webpack: bundle is now VALID.
15 01 2017 15:28:07.441:INFO [karma]: Karma v1.3.0 server started at http://localhost:9876/
15 01 2017 15:28:07.441:INFO [launcher]: Launching browser Chrome with unlimited concurrency
15 01 2017 15:28:07.466:INFO [launcher]: Starting browser Chrome
15 01 2017 15:28:08.297:INFO [Chrome 55.0.2883 (Mac OS X 10.11.6)]: Connected on socket /#C2Ln9_usljurjp9WAAAA with id 19783232
Action Creators
✔ should exist
✔ should create an UPDATE_PULL_REQUEST action
✔ should create an ADD_FAILED_REPO action
Failed Repos Reducer
✖ should add failed repos to the state
Pull Request Reducer
✔ should add pull requests to the state
✔ should update an existing pull request with additional data

Finished in 0.019 secs / 0.004 secs

SUMMARY:
✔ 5 tests completed
✖ 1 test failed

FAILED TESTS:
Failed Repos Reducer
✖ should add failed repos to the state
Chrome 55.0.2883 (Mac OS X 10.11.6)
Expected 0 to be 1.
at Object. (test/reducers/failedReposReducerSpec.js:65:28)

npm ERR! Darwin 15.6.0
npm ERR! argv "/Users/cmacedo/.nvm/versions/node/v4.4.7/bin/node" "/Users/cmacedo/.nvm/versions/node/v4.4.7/bin/npm" "run" "test"
npm ERR! node v4.4.7
npm ERR! npm v2.13.5
npm ERR! code ELIFECYCLE
npm ERR! [email protected] test: karma start
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] test script 'karma start'.
npm ERR! This is most likely a problem with the github-pr-dashboard package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! karma start
npm ERR! You can get their info via:
npm ERR! npm owner ls github-pr-dashboard
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /Users/cmacedo/redhat/templates/github-pr-dashboard/npm-debug.log

`

  • npm-debug.log:

0 info it worked if it ends with ok
1 verbose cli [ '/Users/cmacedo/.nvm/versions/node/v4.4.7/bin/node',
1 verbose cli '/Users/cmacedo/.nvm/versions/node/v4.4.7/bin/npm',
1 verbose cli 'run',
1 verbose cli 'test' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'pretest', 'test', 'posttest' ]
5 info pretest [email protected]
6 info test [email protected]
7 verbose unsafe-perm in lifecycle true
8 info [email protected] Failed to exec test script
9 verbose stack Error: [email protected] test: karma start
9 verbose stack Exit status 1
9 verbose stack at EventEmitter. (/Users/cmacedo/.nvm/versions/node/v4.4.7/lib/node_modules/npm/lib/utils/lifecycle.js:214:16)
9 verbose stack at emitTwo (events.js:87:13)
9 verbose stack at EventEmitter.emit (events.js:172:7)
9 verbose stack at ChildProcess. (/Users/cmacedo/.nvm/versions/node/v4.4.7/lib/node_modules/npm/lib/utils/spawn.js:24:14)
9 verbose stack at emitTwo (events.js:87:13)
9 verbose stack at ChildProcess.emit (events.js:172:7)
9 verbose stack at maybeClose (internal/child_process.js:827:16)
9 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
10 verbose pkgid [email protected]
11 verbose cwd /Users/cmacedo/redhat/templates/github-pr-dashboard
12 error Darwin 15.6.0
13 error argv "/Users/cmacedo/.nvm/versions/node/v4.4.7/bin/node" "/Users/cmacedo/.nvm/versions/node/v4.4.7/bin/npm" "run" "test"
14 error node v4.4.7
15 error npm v2.13.5
16 error code ELIFECYCLE
17 error [email protected] test: karma start
17 error Exit status 1
18 error Failed at the [email protected] test script 'karma start'.
18 error This is most likely a problem with the github-pr-dashboard package,
18 error not with npm itself.
18 error Tell the author that this fails on your system:
18 error karma start
18 error You can get their info via:
18 error npm owner ls github-pr-dashboard
18 error There is likely additional logging output above.
19 verbose exit [ 1, true ]

Add Issues Tab

Add an issues page/tab to the dashboard. This will allow users to view open issues to work on

Compilation Error in Master and Release 1.0.0

Relatively new to Node, npm, & JS. Apologize if this is some user config issue....
Downloaded release
npm install
npm run dev-build
npm run start

Using a clone from Master and the also tried with the latest release 1.0.0.

ERROR in ./src/js/components/Dashboard.jsx

/Users/bruce/Downloads/github-pr-dashboard-1.0.0/src/js/components/Dashboard.jsx
8:8 error 'RepoIndicator' is defined but never used no-unused-vars

✖ 1 problem (1 error, 0 warnings)

After removing the RepoIndicator, the compilation completes. When accessing the webpage:

Chrome: A spinning load icon
Safari: UI loads but no data
Firefox: A Spinning load icon

Also to note:

WARNING in ./src/js/components/AddRepo.jsx

/Users/bruce/Downloads/github-pr-dashboard-1.0.0/src/js/components/AddRepo.jsx
57:13 warning Unexpected console statement no-console

✖ 1 problem (0 errors, 1 warning)

Highlight Stale PR's

It would be cool to add a merge rule around when a PR should be marked as "stale" or over some threshold of time for it to be merged. This is so that teams can decide on a rule for how quickly a PR should go from open, to reviewed, to merged and easily spot PR's that have broken this rule.
The "stale" PR would show up as orange or yellow and the threshold could be configured in the settings.

Did an npm install. It is failing while looking for 'python2'. Any idea?

gyp verb cli [ 'C:\Program Files\nodejs\node.exe',
gyp verb cli 'C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\node-gyp\bin\node-gyp.js',
gyp verb cli 'rebuild',
gyp verb cli '--verbose',
gyp verb cli '--libsass_ext=',
gyp verb cli '--libsass_cflags=',
gyp verb cli '--libsass_ldflags=',
gyp verb cli '--libsass_library=' ]
gyp info using [email protected]
gyp info using [email protected] | win32 | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb which failed Error: not found: python2
gyp verb which failed at getNotFoundError (C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\which\which.js:13:12)
gyp verb which failed at F (C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\which\which.js:68:19)
gyp verb which failed at E (C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\which\which.js:80:29)
gyp verb which failed at C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\which\which.js:89:16
gyp verb which failed at C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\isexe\index.js:42:5
gyp verb which failed at C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\isexe\windows.js:36:5
gyp verb which failed at FSReqWrap.oncomplete (fs.js:158:21)
gyp verb which failed python2 { Error: not found: python2
gyp verb which failed at getNotFoundError (C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\which\which.js:13:12)
gyp verb which failed at F (C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\which\which.js:68:19)
gyp verb which failed at E (C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\which\which.js:80:29)
gyp verb which failed at C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\which\which.js:89:16
gyp verb which failed at C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\isexe\index.js:42:5
gyp verb which failed at C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\isexe\windows.js:36:5
gyp verb which failed at FSReqWrap.oncomplete (fs.js:158:21)
gyp verb which failed stack:
gyp verb which failed 'Error: not found: python2\n at getNotFoundError (C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\which\which.js:13:12)\n at F (C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\which\which.js:68:19)\n at E (C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\which\which.js:80:29)\n at C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\which\which.js:89:16\n at C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\isexe\index.js:42:5\n at C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\isexe\windows.js:36:5\n at FSReqWrap.oncomplete (fs.js:158:21)',
gyp verb which failed code: 'ENOENT' }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb which succeeded python C:\Python27\python.EXE
gyp ERR! configure error
gyp ERR! stack Error: Command failed: C:\Python27\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack File "", line 1
gyp ERR! stack import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack ^
gyp ERR! stack SyntaxError: invalid syntax
gyp ERR! stack
gyp ERR! stack at ChildProcess.exithandler (child_process.js:291:12)
gyp ERR! stack at ChildProcess.emit (events.js:182:13)
gyp ERR! stack at maybeClose (internal/child_process.js:961:16)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:5)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\node-gyp\bin\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd C:\Abhi\github-pr-dashboard-master\github-pr-dashboard-master\node_modules\node-sass
gyp ERR! node -v v10.5.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: node scripts/build.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\abhit\AppData\Roaming\npm-cache_logs\2019-04-10T09_33_29_242Z-debug.log

=====
I have installed python in this directory C:\Python27.
I have set the path also in the environment variables.
Checked:
C:>python
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.

License

What is the license for this project?

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.