trello-burndown

Burndown generator for Trello based on Node.js

Configuration

Preconditions

As a precondition you have to encode some information into the card's title. This looks like that:

[p|est-e] title

Huh?

Generate it!

Please note: All these things can also be done using the web site. To do that start the included webserver (node run.js).

To generate it, you have to execute generate.js as described below:

node generate.js -l "lists" -d "included dates" -r "count days" -f "finish list"

An example call:

node generate.js -l "Planned, In progress, Testing, Finished" -d "2013-02-01, 2013-02-02" -r "1,1" -f "Finished" -n "sprint1"

Example call with standup meeting:

node generate.js -l "Planned, In progress, Testing, Finished" -d "2013-02-01, 2013-02-02" -r "1,1" -f "Finished" -t "10:00:00+01:00" -n "sprint1"

Based on the given information total estimates, efforts etc. are calculated and exported to subfolder export in JSON format. The exported data can be viewed using the included web server.

Web server

To start the web server use the command

node run.js

Per default you can connect to http://localhost:8008.

Supported browsers

To view the charts you can use Chrome (Chromium), Firefox, Safari (WebKit), Opera and IE10 (IE9 may work, not tested yet).

Customization

The generated output can be customized by overriding the default.template or (even better) by creating and configuring a new template. Use mustache 5 syntax for your templates.

This is what you will have available in your templates:

{
    title: 'Trello burndown chart generator',
    header: 'Burndown for sprint ',
    sprint: '47',
    burndown: {
        data1: [
            { x: 0, y: 20 }
        ],
        data2: [
            { x: 0, y: 20 }
        ]
    },
    effortDaily: {
        data1: [
            { x: 0, y: 20 }
        ],
        data2: [
            { x: 0, y: 20 }
        ]
    },
    effortTotal: {
        data1: [
            { x: 0, y: 20 }
        ],
        data2: [
            { x: 0, y: 20 }
        ]
    },
    generationTime: Change date of sprint data file
}

Installation

You can install this via npm:

npm install trello-burndown

It's recommended to create a daily job that generates the necessary data to be served by the web server.

Obtain a Trello token

First, log in to Trello and open Generate API Keys. You will receive an key to use in the next step.

Second, call https://trello.com/1/authorize?key=YOURKEY&name=trello-releasenotes&expiration=never&responsetype=token to grant access for this application. Be sure to replace YOUR_KEY with the key received in the first step.

For further information visit: Getting a Token from a User

Store the key from the first action in setting applicationKey of settings.json and the token received from the second step in userToken. To connect to the board of your choice, copy the board id from your web browser.

There are some settings you can set up in settings.json:

applicationKey      Insert your obtained application key from Trello to get access to it
userToken           Define your user token you will receive when obtaining an application ey
boardId             Define the id of the board you want to search for release notes
port                The port the web server is listening, default is 8008
template            Defines the name of the template to be used (will be searched in `templates` subfolder)
html_title          Title of the generated page
html_header         Header of the generated page (H1)