GitHub Burndown Chart as a Service http://radekstepan.com/burnchart
Go to file
Radek Stepan 0a59885d39 add docs 2013-09-29 22:14:24 +01:00
public standing out more 2013-08-20 00:06:02 +01:00
src config validation 2013-09-27 10:58:43 +01:00
test test pass for milestones and issues 2013-09-29 21:43:20 +01:00
.gitignore more clear rendering 2013-08-16 20:39:39 +01:00
Makefile very simple get current milestones check 2013-08-12 19:23:30 +01:00
README.md add docs 2013-09-29 22:14:24 +01:00
example.png do not strictly require config; fix req 2013-09-26 23:10:56 +01:00
package.json test pass for milestones and issues 2013-09-29 21:43:20 +01:00
proxy.coffee add docs 2013-09-29 22:14:24 +01:00

README.md

#GitHub Burndown Chart

Displays a burndown chart from a set of GitHub issues in the current milestone; all client side.

Codeship Status for radekstepan/github-burndown-chart

image

##Quickstart

  1. Choose a repo that you want to display burndown chart for.
  2. Make sure this repo has some issues assigned to a milestone.
  3. Put some labels on the issues looking like this: size 1, size 3 etc.
  4. Close some of them labeled issues.
  5. Visit http://radekstepan.github.io/github-burndown-chart following the instructions there.

##Configuration

There are three modes of operation balancing between usability & security:

  1. You can just serve the public directory using a static file server or GitHub Pages. No config needed, just serve the app and point to your repo in the browser, e.g.: http://127.0.0.1:8000/#!/radekstepan/disposable. You are rate limited to the tune of 60 requests per hour.
  2. As before but now you want to use your GitHub OAuth2 API Token in the config. This will require you to specify the token in the config.json file as outlined below.
  3. You find it preposterous to share your token with the world. In this case you will need to serve the app through proxy.coffee. Your token will be scrubbed from the config file and all requests be routed through this proxy.

None of the following fields or the file, config.json itself are required:

###Size Label

The way we are getting a size of an issue from GitHub is by putting a label on it. The following regex (string) specifies which part of the label represents the number.

{
    "size_label": "^size (\\d+)$"
}

This is also the default label if no other is specified.

###Token

Your OAuth2 token from GitHub. Get it here. Bear in mind that if you just statically serve the app, everybody will be able to see the token in transmission. If you would like to avoid that, use the proxy.coffee file to route the traffic.

Using the token increases your limit of requests per hour from 60 to 5000.

{
    "token": "API_TOKEN"
}

###Off Days/Weekends

An array of day integers (Monday = 1) representing days of the week when you are not working. This will make the expected burndown line be more accurate.

{
    "off_days": [ 6, 7 ]
}

##Proxy Mode

Use this strategy if you do not wish for your token to be publicly visible. Proxy mode routes all requests from the client side app through it, scrubbing the token from the config.json file. It is slightly slower than requesting data straight from GitHub of course.

Make sure you have CoffeeScript installed:

$ npm install coffeescript -g

Then start the proxy passing port number as an argument:

$ PORT=1234 coffee proxy.coffee

Visit the port in question in the browser and continue as before.