Jira workflows define the lifecycle a Jira issue goes through. Workflows include statuses (the state of an issue at any given moment) and transitions (the actions that propel an issue from one status to another).
Of the many Jira workflow examples, the one of the library is perhaps be most helpful for understanding workflow concepts. Here we can see how the issue (in this case, a book) book transitions through various statuses. Statuses (At Library, With Customer and Retired) tell us where the book is and transitions (Check out, Check in, Retire item, Restore to service) tell us how it got there.
Once you have the basic concept down, it's worth your time to browse through a few more Jira workflow examples to get an idea of how simple and how complex workflows can be. If you have administrative permissions go to Jira > Jira Settings > Issues > Workflows. How many workflows you find will depend on your Jira instance, but you will likely see some that were automatically generated by Jira and others that were created for specific teams and projects.
You might find things like this:
A few things to note:
Pay special attention to what happens at the end of a Jira workflow. Some workflows (as in the example above) use both Closed and Resolved and teams define what these terms mean. A Closed, Done or Resolvedworkflow status is not to be confused with the Resolution field of a Jira issue. (However, you could use a post function to set the Resolution field to Resolved once the issue reaches the final status in the workflow.) Once you have all of the statuses and transitions in place, you can add functionality to your workflow with transition behaviors described below.
While statuses and transitions are at the core of Jira workflows, a lot of functionality comes from Jira workflow transition behaviors. Workflow transition behaviors are way to enforce business rules, deploy automation and build in efficiencies. They come in several flavors:
When you configure your workflow you’ll notice that Jira comes with a standard collection of built-in transition behaviors. You can increase your options by using apps/plugins from the Atlassian Marketplace, such as:
As always, it’s recommended that you employ a vetting process for selecting apps/plugins.
Jira was originally created to help development teams manage the tasks required for creating software (hence Jira Software). However, several key features – end-to-end issue tracking, the ability to make project management visual, and of course, Jira’s workflow engine – make Jira a great tool for any team.
There are now multiple Jira products, including some excellent options for non-tech teams. (If you are new to Jira and want more information about the different features of Jira Software, Jira Core and Jira Service Desk, see the final section of this page.)
Atlassian offers several templates in Jira Core which make it easy to bring specific processes into Jira, and also demonstrate potential use cases. These templates include a specifically designed Jira workflow and some of the custom fields teams are likely to need for data collection. They cover:
As you expand Jira to non-tech teams, consider using Jira Service Desk (JSD). JSD is designed for managing requests and is therefore an excellent fit for teams like Facilities, HR, Legal and Marketing.Like the IT service teams JSD was designed for, these teams face common challenges such as:
Using Jira Service Desk not only resolves those challenges, it also brings several additional advantages.
Jira Service Desk workflows are often designed to manage the relationship between the customer and the service team, and to ensure that requests get resolved.
One of the challenges of expanding Jira to non-tech teams is that exponential growth can become challenging to configure and maintain.Therefore, it’s recommended that you limit the number of different workflows, custom fields and schemes in your Jira instance. Along with keeping things manageable for your Jira administrator and support team, this will also optimize Jira’s performance.
A few well-designed workflows can support a multitude of processes. Consider what can be accomplished using just these four.
Once you’ve identified a few multi-purpose workflows, the next step is to enable business teams to collect exactly the information they need on their Jira issues/requests. One way to do this without having to create a horde of Jira custom fields is to embed forms in Jira issues as described in these examples:
You can expedite the process of bringing non-tech teams into Jira by using forms from the ProForma template library. These forms were purpose-built for Jira and can be easily modified by business teams. Templates have been created for various business teams:
While it is highly recommended that you limit the number of workflows in your Jira instance and that projects share workflows via a workflow scheme, there will inevitably come a time when you wish to modify a workflow or create your own. You'll want to follow best practices to ensure that your new Jira workflow is accurate, effective and easy to maintain.
Jira workflows are powerful things. When it's time to build or modify a workflow you will want to gather all stakeholders around a white board and talk through what the workflow should be. In an article on Best Practices for Creating a Custom Workflow (this article is part of a free eBook on Effective Jira Administration), author, teacher and Jira super-user Rachel Wright recommends drawing the workflow out on paper and then writing it out in words. This helps to ensure that the workflow you build is an accurate reflection of how the team actually works.
While you want your workflow to be complete and accurate, you also want to avoid making it unnecessarily complicated. We all want credit for how complicated our processes are (and we want help to make sure we remember to do what we need to), but you should only create a status if it's likely that you would query for all issues in that status. Use other tools to track the details. This allows you to keep your workflow simple. You can add additional steps later if need be, but it is always easier to give than to take away.
Once you've read the best practices and Atlassian's instructions it's time to get started. In order to have a "safe" working environment where you can be assured that your actions won't accidentally impact other workflows, you need the workflow you're creating or modifying to be inactive. Otherwise, your good intentions may have a surprising impact on other teams, as described here.
To create an inactive workflow, login as a Jira administrator and go to Jira > Jira Settings > Issues > Workflows. From here, you have several options. You can click Add workflow to start building from scratch, you can import a workflow from the Marketplace, or you can modify an existing workflows. New workflows will be loaded into the lower part of the page, under the heading Inactive.
If you want to modify an existing workflow, it is strongly recommended that you start by making a copy of the workflow (click the Copy link next to the name of the workflow). An inactive copy of the workflow will be created. Working from a copy saves time, helps you remember the process that's already in place and protects existing projects from being disrupted.
Now that you've established your working environment, you can jump in and start building/modifying your workflow. Click the Edit link next to the name of the inactive workflow. The Jira workflow editor is fairly intuitive. You can choose whether you prefer working from text or a diagram and can add all of the statuses and transitions you need. A few things to remember:
When you're satisfied with your Jira workflow, you activate it by making it part of a workflow scheme. Workflow schemes map a workflow to Jira projects and to particular issue types within those projects. You can either create a new workflow scheme or update an existing one. Note changing an existing workflow scheme (just like changing an existing workflow) should not be done lightly. You will potentially be impacting multiple projects.
To create a workflow scheme got to Jira > Jira Settings > Issues > Workflows Schemes and click the Add workflow scheme button and follow the directions here.
Note that a workflow can be associated with one of more projects and one or more issue types within a project.
If you have a specific question about workflows and are not finding what you need here, or in Atlassian's documentation, the best place to go for answers is to the community forum. Folks who have a lot of experience with Jira freely share their expertise and recommendations. It's also a good way to keep up on new developments from Atlassian.
Jira comes in several varieties and can support different types of projects, so you’ll want to consider which flavor offers the best options for your teams.
Note that the three Jira products are not mutually exclusive. For instance, in Jira Software you can create both software projects and business projects. Jira Service Desk allows you to create software projects, business projects and service desk projects. A given Jira workflow can be used in any of the three types of projects.
|Atlassian Documentation||Useful Articles|
|Working with Jira Issues||Building an Awesome Jira Workflow|
|Workflow Configuration||Jira Workflow Transition Behaviors|
|How to Build a Workflow||The Final Stop on a Jira Workflow|
|Configuring Workflow Schemes||Four Jira Workflows for Business Teams|
|Working with Workflows||Creating a Jira Custom Workflow|
|Lessons Learnt from my First Jira Workflow|
|From the Marketplace||Keep Workflows Simple with ProForma|
|ProForma Forms for Jira||Vetting Jira Apps & Plugins|
|Automation for Jira||Enterprise Service Management|
|ScriptRunner for Jira|
|Suite Utilities for Jira||For Teams|
|Misc Workflow Extensions||ProForma Template Library|
|Jira Core Templates|
|Other Resources||Marketing Workflow eBook|
|Jira Strategy Admin Workbook||Guide to Asset Management|
|Effective Jira Administration eBook||Agile HR with Jira & ProForma|
|Atlassian Community (Forum)||Document Tracking in Jira|
|Jira Product Comparison||Content Creation with JSD & ProForma|