BBreport
Create project stats from Trello.
Installation
$ npm install -g bbreport
On the first run it will ask you to create a read-only Trello token which can access all the boards you can.
How it works
Suppose you have Scrum/Kanban -like board structure with cards that have a prefix keyword assigning it to some project. You are not using Trello labels because they are used for something else. You have a board that looks something like this:
+------------------------+ +-----------------------+ +-----------------------+ +-----------------------+ +-----------------------+
| Some nice backlog | | Another backlog | | In progress | | Done (sprint 42) | | Done (sprint 41) |
+------------------------+ +-----------------------+ +-----------------------+ +-----------------------+ +-----------------------+
|NEWUI Develop widget | |ZD-42 Fix db connection| |OPS Configure cluster| |UX CSS transition | |OPS Plan new server |
|ZD-12 Fix issue with | |UX Work on login | |ZD-28 Add missing label| |NEWUI Implement CSS | |ZD-03 Add missing link |
|UX Prepare concept | |NEWUI Implement form | | | |Put out raging fire | |ZD-02 Clean up page |
|OPS Install new server| | | | | |Create sprint report | | |
| | | | | | | | | |
+------------------------+ +-----------------------+ +-----------------------+ +-----------------------+ +-----------------------+
By running bbreport you get a breakdown of each list in the board as follows:
$ bbreport -b 12345 # 12345 is a trello board id
----- DONE -----
{ name: 'Done (sprint 42)',
memberCount: 3,
total: 4,
breakdown:
[ [ 'UX', 1 ],
[ 'NEWUI', 1 ],
[ 'MISC', 2 ]
]
}
{ name: 'Done (sprint 41)',
memberCount: 2,
total: 3,
breakdown:
[ [ 'OPS', 1 ],
[ 'ZD', 2 ],
]
}
----- OTHER -----
{ name: 'Some nice backlog',
memberCount: 0,
total: 4,
breakdown:
[ [ 'NEWUI', 1 ],
[ 'ZD', 1 ],
[ 'UX', 1 ],
[ 'OPS', 1 ]
]
}
{ name: 'Another backlog',
memberCount: 0,
total: 3,
breakdown:
[ [ 'ZD', 1 ],
[ 'UX', 1 ],
[ 'NEWUI', 1 ]
]
}
----- WORKING -----
{ name: 'In Progress',
memberCount: 2,
total: 2,
breakdown:
[ [ 'OPS', 1 ],
[ 'ZD', 1 ]
]
}
Yes, this is not very useful at the moment, see the Roadmap.
Note that if a card has a checklist it will be counted as 1 + (number of checklist items).
Roadmap
Stuff that probably needs to get done. In no particular order.
- [ ] Pluggable reporting system. Output JSON, nice console, whatever.
- [ ] Pluggable list grouping. Currently it's hardcoded.
- [ ] Pluggable project code generation. It's hardcoded too.
- [ ] Combine several lists. Useful for combining several backlog lists to one to get a clear picture of done/pending cards for a given project.
Contributing
Please do.
Developing
BBreport is developed with ES6 using Flow annotations. It uses Babel for Node 0.10.x compatibility and stripping the annotations during compilation.