Skip to content

CXInc/trellfire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trellfire

Trellfire is an app that generates burndown charts from Trello boards. It uses the Trello webhook API to provide real-time updates to the burndown chart. Authentication is currently done through GitHub, and authorization can either be based on a whitelist of usernames or membership in a GitHub organization.

Demo and the Trello Board it's attached to

Deploying your own instance

Trellfire is a Meteor app. The easiest way to deploy it is through Meteor themselves, however there are other deployment options.

In the Trellfire folder, make a copy of the example settings:

cp settings.json.example settings.json

You'll have to decide on one of these three available authorization methods:

  • username - The GitHub username of the user must be on a whitelist
  • github-org - The user must belong to the specified GitHub org
  • none - All authenticated users are authorized. This is used in the demo, but may also be reasonable if you're using Trellfire on a server that isn't publicly accessible.

Edit it to add the configuration values you'll be using

  • appName - Shows up in the app header
  • authorizationMethod - Either "github-org", "username" or "none"
  • authorizedUsernames - When authorizationMethod is "username", this is the array of GitHub usernames authorized to use the app
  • org - When authorizationMethod is "github-org", this is the GitHub org name that users must belong to in order to access the app
  • trelloBoardId - Open the board in Trello, and go to Menu -> Share, Print, and Export... -> Export JSON. The first id is the board ID.
  • trelloKey - Get one at https://trello.com/1/appKey/generate
  • trelloToken - Substitute your key into this URL, and go through authorization: https://trello.com/1/authorize?key=YOUR-KEY-HERE&name=Trellfire&expiration=never&response_type=token

Deploy:

meteor deploy NAME --debug --settings settings.json

Replace NAME with whatever you want the subdomain for you app to be, for example trellfire.meteor.com. The debug option is necessary because there's a Trellfire dependency that breaks during Meteor's minification process.

Usage

Trellfire relies upon some conventions for naming Trello checklist items. Tasks added prior to locking a sprint must be named as follows:

(<number of hours>) @<trello username> <task description>

For example:

(2.5) @frodo Destroy the ring

The parenthesis containing the number of hours has to be at the very beginning, however the username tags can be anywhere in the name.

Tasks added post-lock simply have the text "POSTLOCK" added to the beginning, for instance:

POSTLOCK (1) @samwise Leave the Shire

Trellfire only looks at the names of checklist items, so card and checklist names can be named however you want.

Caveats

The Trello webhook API doesn't send notifications when a task name is changed, which can cause Trellfire to be inconsistent with the data in Trello. Because of this, Trellfire does a full poll of the Trello board every hour.

Developing

In order to receive Trello notifications, the app must be able to receive requests from Trello. When developing locally, one easy way to do this is to use ngrok. Start it up on the default Meteor port:

ngrok 3000

A forwarding URL will be show up after a tunnel has been established. Add a "rootUrl" configuration in your settings.json with the URL ngrok provides, for example http://193a1520.ngrok.com.

Start the app:

meteor --settings settings.json

About

Trello burndown charts with real-time updates

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages