Code Monkey home page Code Monkey logo

pull-request-viewer's Introduction

Pull Request Viewer

This application provides an alternative interface to viewing pull requests on GitHub. It sorts, highlights and categorizes pull requests based on our workflow.

screenshot

Notable features

  • Uses GitHub for authentication & authorization
  • Highlights PRs involving you
  • Parses the last comment of a PR to set a status label
  • If PR titles begin with reviewer usernames foo: or foo/bar/baz:, those GitHub usernames will become the reviewers. (See also GITHUB_USERNAME_ALIASES below.)
  • If PR titles begin with everyone or all, all reviewers will be added
  • PR titles beginning with WIP are considered Works In Progress and are greyed out
  • PRs older than a month are hidden
  • Lists everyone involved in commenting in a PR
  • Shows and sorts by last update time
  • Shows the source branch name
  • Shows CI build status

Getting started

  1. Follow the Heroku Getting Started guide if you haven't already.
  2. Create an app on the GitHub authorized applications page
  3. Clone this repo and cd to it.
  4. Run npm install and then npm install -g nodemon coffee-script
  5. Create a .env file that looks like the sample below.
  6. Run npm run dev

Sample .env file

GITHUB_REPOS=artillery/awesomesauce,artillery/spacelaser
GITHUB_CLIENT_ID=NNNNNNNNNNNNNNNNNNNN
GITHUB_CLIENT_SECRET=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
GITHUB_CALLBACK_URL=http://localhost:8000/auth/github/callback

Optional additional env vars

GITHUB_FORCE_REVIEWERS

This is a list of GitHub usernames who should always review PRs from certain repos. This is in a comma-separated list in the format <user>/<repo>:reviewer. For multiple forced reviewers on the same repo, repeat the <user>/<repo> tuple with different usernames. For example:

GITHUB_FORCE_REVIEWERS=foo/bar:user1,foo/bar:user2,baz/quux:user3

GITHUB_USERNAME_ALIASES

If your development group uses real names instead of GitHub usernames then it's easier to prefix a PR title with "Bob:" instead of "superl33th4ck3r:". GITHUB_USERNAME_ALIASES is a comma-separated list in the format <alias>:<username>. Any alias will be substituted for the GitHub username. For example:

GITHUB_USERNAME_ALIASES=joe:superl33th4ck3r,bob:megauser

And your PR title could be "JOE/BOB: Fixes the thing."

Deploying to Heroku

  1. If creating a new app, run heroku create and then set each config var using heroku config (read docs here]
  2. Make sure the app runs locally with Foreman: foreman start web
  3. To deploy, run git push heroku

Credits


Copyright 2013 Artillery Games, Inc. Licensed under the MIT license.

pull-request-viewer's People

Contributors

jspiro avatar statico avatar

Watchers

 avatar  avatar

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.