About a month ago I released a Google Apps Script that allowed you to Pimp your Trello cards by automatically adding checklists, descriptions and Google Docs (based on a template card), and assigning cost estimates to cards.
I received some excellent feedback on what would improve the script and am pleased to announce that Pimp Your Trello Cards 2.0 is now available.
The additional features include:
- Ability to have different pimping rules for cards on different lists – this allows for Google Docs and Checklists to be added to cards when they move lists, providing enhanced workflow features for Trello.
- Newly created Google Docs are copies of those attached to the template cards, meaning that they are stored in the same directory as the source document, and can be created with skeleton content.
- The name of the Google Docs now contain the card title, and they get updated automatically if you rename the cards.
If you’re already using an earlier version of Pimp My Trello Cards, then you can find instructions on how to update/replace your script in this post. The setup is pretty much the same as in the original script, but with a few minor differences that are hopefully clear in the instructions.
As I said, I had some great feedback on the original script, so if you have any more, then the best place to contact me is on Twitter.
I posted last year about backing up the Trello Boards that we were using for our Scrum backlogs.
There’s been a fair amount of interest in the post, and some requests for the data to not be displayed in such as Scrum-centric manor.
I’ve therefore updated the spreadsheet so that it defaults to being a “Standard” backup, but you can set a flag in the control sheet, to split out Acceptance Criteria and Story Points if you’re rocking a Scrum Backlog.
Whatever you use Trello for, you might also want to check out my post on Pimping Your Trello Cards to automatically add checklists, attach Google Docs, or assign costs to cards.
******** Version 2.0 of Pimp Your Trello Cards is now available - Details here *********
As you can probably tell from my other posts I love Trello. It looks great, is a joy to use, doesn’t prescribe how you should use it, but does provide a simple API that you can use to make it do your bidding.
We’ve been using it to manage our Scrum backlog for the last 18 months, and have found that it adequately met our needs in terms of capturing User Stories and Acceptance Criteria. However in the last few weeks we’ve found additional information that we want on every card, such as Google Docs for Developer Notes and Test Scripts, and various Checklists for things we need to remember at different stages.
I therefore turned to Google Apps Script, and the Trello API to come up with the Pimp Your Trello Cards spreadsheet which has the following features:
- Runs immediately (Using Webhooks) to pimp any new cards added to a board.
- Runs hourly to re-pimp all cards on the board, in case any webhooks failed, or if the pimping requirements have changed.
- The pimping of a card involves:
- Adding a “cost” to a card title based on the story points on the card (If you’re using Scrum For Trello) – This also happens immediately if you change the card description.
- Creating (in specified folders) and then attaching multiple Google Docs.
- Adding a description (based on a template card) if it’s missing (e.g. “As a I want to so that”).
- Adding any missing (based on name) checklists that appear on a template card.
- Adding missing checklist items that appear on an identically named checklist on a template card.
- Removing identical checklist items that are “checked” on the template card.
This is generally quite simple – create a copy of the spreadsheet and follow the instructions in the control sheet to setup your board to be pimped.
Registering The Webhook
This is the tricky part, and can’t currently be automated, but it pimps your cards in real time so it’s worth doing:
- From the Spreadsheet Menu, select “Tools->Script Editor”.
- Once the script loads, select “Publish->Deploy as Web App” from the menu.
- In the dialogue that is displayed, click on “Save new version” if it appears, so that you have a number displayed in “Project Version”.
- Ensure that “Execute The App As” is set to “User accessing the web app”, and “Who has access to the app” is set to “Anyone”.
- Click “Deploy” and then “Ok” on the box that says that the web app is now deployed.
- Return to the spreadsheet and select “Register webhook for board” from the “Trello” menu – after the script runs, you should get a window telling you if it was successful.
- Return to the script, and again select “Publish->Deploy as Web App” from the menu.
- This time change ”Execute The App As” to be “Me”, and “Who has access to the app” is set to “Anyone, even anonymous”, and click “Update”.
- Your Webhook is now ready to use – go and create a new card on your board and wait for the magic to happen.
Here’s a sample template card: It has an empty checklist for Acceptance Criteria to be added to, and a checklist of items which must be passed to meet the definition of done.
If I later decide that for some (bizarre) reason I no longer want to do Code Reviews, I just need to check that item on the template card, and when the hourly pimping next runs, that checklist item is removed from all cards.
Finally if I decide it’s a 5 point story, after I’ve assigned the points (Scrum For Trello puts it in brackets at the start of the card title), the cost of that story is calculated and appended to the end of the card title, placing it front and centre for everyone to see.
So there you have it – get pimping, and get in touch on Twitter if you think of anything else that could be added to a pimped card.
I recently did some work for a client who wanted some reports that outlined changes to their Trello boards week to week, and whilst I can’t share the resulting code, I thought it would be useful to share how I approached the problem.
Initially I considered 2 possible solutions:
- Read through the activity log of every card, and try to establish if that activity was something that needed to be reported.
- Use the Trello Backup Script that I wrote last year to save a dump of the boards on a weekly basis, and then compare the data to see what needed to be reported on.
It soon became apparent from the reporting requirements that I could not rely solely on the card’s activity log, because of the following issues:
- The card could be deleted (so there would be no activity to interrogate)
- It could be potentially complex to rewind back to a point of time solely using the activity log.
- Some changes (e.g. due date or checklist items) are not recorded in the activity section of the card.
So with option 2 looking like a clear winner, I set about writing a couple of scripts to manage the process.
The Data Dump
I modified the original Trello Backup Script so that it would output the JSON data into a new spreadsheet every time it was run, and keep a register of all of the backup spreadsheets that it had, and when they were extracted.
This process was scheduled to run at a set time every week, and was executed separately to the actual report generation script to make it easier to clean up if either script failed or timed out.
The Report Generator
This script was scheduled to run an hour after the data extract, and would only proceed if a successful data dump had occurred.
It produced each of the required reports as a separate sheet, and emailed the resulting spreadsheet to all the interested parties.
In the majority of cases, the reports were generated by opening the last 2 data extract spreadsheets listed in the register, and using the JSON objects stored within them to retrieve the frozen state of all the boards, which could then be compared to identify any changes that needed to be reported.
And that’s pretty much it – admitedly it was a bit more complicated than that, but you get the gist of how this method provides you with a solid platform from which you can write your own reports about changes to your Trello boards.
Whether it’s because I’ve experienced a natural disaster or because I spent some of my formative years in the Boy Scouts I’m not sure, but events half a world away this week have re-enforced the notion that it’s good to “be prepared”.
When we started using Trello for our product backlog earlier this year , I thought it was probably overkill trying to get an automated backup of our data, since it was being operated by Fog Creek who have a great reputation in the industry, but I ploughed on regardless and yesterday that preparation paid off.
We normally use Trello during our Sprint Review to recap user stories and acceptance criteria and one such meeting occurred at the same time Fog Creek were valiantly trying to keep the service going as New York was battered by Hurricane Sandy. Normally this wouldn’t have mattered as we keep paper copies on our scrum board, but for the first time in 13 sprints we were doing our review in Auckland, so these weren’t much use.
So there we were, mid review, far from home, no story cards, and Trello is going up and down like a whores draws. Compared to what the poor people in the NE United States were going through this was obviously not a big deal, but with a little bit of contingency planning it was a trivial task to fire up Google Drive, open our Trello backup spreadsheet and continue with our review.
This outage and the ongoing benefit we get from being able to print story cards from the backup spreadsheet means that it has totally repaid the time I spent writing the script – if you’re using Trello for user stories, and you haven’t done so already then go set the script up now – there’s nothing to lose and everything to gain.
It’s also a timely reminder to look at all your digital data and think about what would happen if you didn’t have access to it, or worse still, lost it permenantly. If your house burned down by a fire, would you lose all the photos of your kids? If your favourite web service went under (financially rather literally) and took your data with them, then what would the impact be?
It doesn’t take much to get yourself in good shape – get a good automated offsite backup (I use Crashplan) to handle your files, and periodically back up your online data to another service, or even to a local PC and you should be good to go.
Oh, and if you happen to live in the pacific ring of fire, tornado alley, somewhere hot and dry, or indeed anywhere on our rapidly warming planet that has “weather” you might want to generally be prepared so that in any eventuality, you manage to Get Thru.
So you’ve imported your precious data into Trello and are now merrily moving cards, ticking checklists, and adding comments ’til the cows come home. But what if something were to happen to your Trello data? How much work and knowledge would be lost?
This was a question I asked myself when I initially decided to use Trello. Having lived through a disaster (The 2011 Christchurch Earthquake) I tend to think a lot about disaster recovery, and the thought of having data sitting in the cloud, especially in a free service makes me nervous. Don’t get me wrong, I think that the guys at Fog Creek Software do their utmost to keep our data safe and sound, but I would sleep a lot easier knowing that there was another copy of my data somewhere, should I need it.
*** Update 7th November 2013 – If you do import a backlog into Trello, then there is another script available to Pimp Your Trello Card and automatically add Google Docs to your cards, Checklists, Descriptions, or even assign costs to your cards. ***
But what if you already have an existing backlog, and don’t want to spend time re-keying the entries? Well luckily, like most things in 2012, there’s an App for that.