Workflows
After my post yesterday on JIRA Agile and Hipchat using post functions on workflow transitions, I played around with modifying the default JIRA workflow to include a ‘testing’ stage – as currently it goes from “Open”, “In Progress” to “Resolved” or “Closed” – with no mention of testing.
This is easy enough to add – you simply modify the workflow, and add a new stage, as per below:
Here I added a new status, ‘In Testing’, and linked it from ‘In Progress’ with a ‘QA’ transition. This is really cool, because you go from having a default view of an ‘in progress’ story of:
To one that has a new button, “QA”, the developer has finished with the story:
When the developer clicks ‘QA’ (Or ‘Assign to QA’, whatever you call it!) the buttons will change, along with the status of the story / task, as per the image below:
Obviously, you might want to link the ‘In testing’ status to ‘In Progress’ again, if the testing fails for example – this is just a quick setup 🙂 The problem we have with the above workflow however, is that the same workflow is not applicable to all types!
So what do i mean by this? Well, you might want to use a different workflow for tasks or bugs, compared to user stories – i.e. in a user story, you will generally have ‘developer’ tasks and QA tasks, therefore having a developer task go to ‘In testing’ makes no sense – you might want just ‘open’,’in progress’ and ‘closed’ for example – whereas bugs might be ‘open’, ‘in progress’ and ‘fixed’, etc. Luckily, there is a way in JIRA that you can create seperate workflows for specific items – hidden in plain sight at ‘Workflow’ under your project:
In my example above – I have 2 workflows – one for ‘tasks’, and one for ‘everything else’. In tasks I have forgone the QA element – just to diffentiate between them, as per above.
Im not going to go through adding a workflow, as its really simple – you basically click ‘Add workflow’, choose the one you want (i.e. JIRA default), associate that with the issue types you want, and then click OK/Submit. Then, edit away – add new statuses/transitions, rename labels, add new post functions, and more. Then, publish – and your changes are applied!
Task in progress
Bug in progress
Conclusion
Basically, using workflows and post functions, you can pretty much customise everything you want in JIRA Agile. For example, I played around with ‘Slack’ last night on the recommendation of a friend, and whilst it wasnt as advanced as the Hipchat integration – it is remarkably easy to setup – just configure it as a Webhook, and again – select a post function on a transition, ‘Type: Webhook’ and voila, your configured! Its really simple but incredibly powerful.