At Caplin we use Jira along with Greenhopper to track our issues.
The Greenhopper interface provides a good interface for dragging issues through their development cycles, and while we have tried to go “purely digital”, using only the web client interface projected onto a wall, we have found it lacking.
Physical cards provide a wonderful medium for displaying context.
You can:
- write on them
- sign your name on them
- place a photo of yourself on them.
- place sticky notes on them
- put stickers on them
- flip them sideway
- flip them upside down.
- place them on a line between columns
- take them off the board entirely
All of these things are not possible to do with Jira or the Greenhopper interface. However, that is not to say that those tools are without merit.
With Jira you can:
- Add comprehensive Acceptance criteria
- Add picture to wireframes
- Add hyperlinks to documentation
- Add links to specific VCS checkins
- Add comments
- See them when working from home
- make sure they don’t fall off the board and get vacuumed up by the cleaners.
So while both of these systems provide great features, neither of them supports both. And you don’t want the overhead of having to support both systems. Developers have traditionally written out paper cards by hand for each of the cards in Jira and stuck them on the board, but this can be quite tiresome.
Solution: The Jira Agile Card Maker. Where can you get it? Go to Caplin Labs.
What it is
This is a basic web application that accesses the Jira REST API, that allows you to print a physical version of the Jira cards.
You can notice that this card shows a variety of information, including:
- Issue name and type (CASINO-511, Teal Color indicates it is a Task)
- The Component Code (CS1)
- It’s Parent’s summary (Implement Card Shuffler)
- The Task’s summary (Create Card Model)
- Size Estimate (3)
- Owner (This will be penned in when someone picks up the card)
- Release Note, Wiki, Review (These are crossed off when completed)
- QR Code (A little automation experiment, still in progress)
Using it
The JACM uses the Jira REST API to provide the relevant data. To this end, it must have authorization to use the Jira REST API. THis is provided by the end user themselves. They simply need to log into Jira to provide access to their REST API.
Once they have logged in, they need only set the Jira Location field to the domain from which they logged in after which they can request whatever data they require.
The Project Type drop down provides three ways to request issues: By FixVersion, Rapid Board or Individual issues. Selecting any of the options in the Drop Down will provide further fields by which the user can select the Issues that they are interested in.
Once they have selected the correct FixVersion or RapidBoard they can then select individual issues in the table below, omitting the ones that they aren’t interested in. Once they are happy, they can simple click the Generate button and print the cards!
All of this information is automatically retrieved from Jira and displayed. We can request a Sprint, and it will render each card in that Sprint, displaying 6 cards to an A4 page, which can then be guillotined out in 3 strokes and stuck on the board.
While this might sound like a silly thing to mention, requiring only 3 cuts for 6 cards is actually really nice.
The future
The JACM has really poor UX. It is not very clear how to use it, and it can be confusing to people that haven’t used it before. We would love to improve this in future.
I was trying but is not working probably because I am using the latest version of jira 🙁
Will it work w JIRA v6.1.5
Do you provide us w the source code for us to host locally>
I haven’t tried Jira 6.1.5 yet, so I can’t say for sure. But it does work with 6.0.4, so as long as they haven’t changed their API since then, it should be fine.
The source code can be found here: https://github.com/caplin/JiraAgileCardMaker/
However, there is one small problem, which is that Jira closed off the JSONP feature in version 6, which prevents the security hole that I was using to access the Jiras. This wouldn’t be a problem, as you can still authenticate ‘correctly’ to request the issues, except they also don’t support CORS for their API:
https://jira.atlassian.com/browse/JRA-30371
To get around this, I am using CorsAnywhere, to provide CORS for API.
http://cors-anywhere.herokuapp.com/
However, CorsAnywhere is a externally hosted server, which must also receive your authentication details. The good news is that only a hash of your credentials are sent, which obviously should not be reversible.
However, you probably don’t want to send any details over the web, so at Caplin we host a copy of CorsAnywhere internally:
https://github.com/Rob–W/cors-anywhere
Once this is done, edit
https://github.com/caplin/JiraAgileCardMaker/blob/gh-pages/src/JiraCommunicationHandler.js
and point the CorsAnywhere URL to your local server.
If this all seems to onerous, please raise a ticket with Atlassian and try to get them to implement CORS. We have already tried our best…
Good luck, and ask if you need any other help!
You can print issues from JIRa and JIRA Agile from Agile Issue Printer plugin available here: https://marketplace.atlassian.com/plugins/com.flyingagile.jira.plugin.aip
Even better Bookmarklet -> http://qoomon.blogspot.de/2014/01/jira-issue-card-printer-bookmarklet.html