Jira workflows – the basics

Workflow is an essential concept for performing any work on issues in Jira and taking full control of the processes realized by the organization. We can easily say that Jira without workflows wouldn’t have much sense. It doesn’t matter if we are implementing a simple workflow with just basic statuses like To Do, In Progress, and Done or designing a complex workflow with multiple states, transitions, and restrictions. Workflows make the work actually happen and be transparent.

It’s key to understand how workflows are designed to take full advantage of this feature and create state-of-the-art processes. At first glance, the concept of workflows might seem to be simple and in fact, it is. However, the truth is – workflows are simple to learn, but hard to master. It takes time and requires some experience to build effective workflows that your users will love.

In this article, we explain the basic terms and features related to workflows in Jira as a starting point for your journey to Jira workflows mastery.

What is a workflow in Jira?

A workflow in Jira is basically a set of statuses and dependencies between them called transitions. Workflows are used to perform or more precisely – to visualize the work performed on the issue. In other words, workflows represent the lifecycle of issues.

Workflows can be associated with a certain project and issue type through workflow schemes. If the workflow is not associated with any projects and issue types, then it’s in an inactive state and can be freely modified. Active workflows, on the other hand, are limited in the edit mode.

Workflow statuses

A Jira workflow status represents the state in which an issue is. It’s a single point in the lifecycle and informs the user about the work progress on the issue. To make workflow statuses more informative, they can be assigned a workflow status category. Three categories are available for selection: To Do, In Progress, and Done. Each category provides a fixed color for the status to make it more transparent visually.

Workflow transitions

Having defined a set of statuses for our workflow is one part of the task at hand. Another part is to create connections between them – workflow transitions. These connections are in fact one-way paths from one workflow status to the other one. A workflow transition is defined with the connection and a name, but we can also add a screen to a transition. This feature allows for displaying a dialog with certain fields defined on the screen to be edited by the user performing the workflow transition.

Simplified workflow

Sometimes we don’t need to implement complex workflows for a project and that’s where Simplified Workflows come into play. These workflows are heavily related to boards in Jira Software – each status in the workflow is represented as a column on the board. This allows users to switch statuses freely without any restrictions. Simplified Workflows don’t support any transition screens, so when the user transitions the issue to its final workflow status, the Resolution field will be automatically set to Done instead of showing a workflow transition screen. As you can see, the purpose of the Simplified Workflows is clear – make the processing of the issues as easy as possible and provide full support for working with them on boards.

Workflow sharing

As I’ve mentioned before workflows in Jira can be associated with projects and various issue types through workflow schemes. In short, this means that each workflow can be reused by different issue types in different projects.

One of the most essential best practices of Jira is to keep things simple. It also applies to workflows. Simple and generic workflows can be easily reused making the overall set of the workflows in your Jira smaller. Remember that you don’t have to create a workflow for each project and issue type from scratch. Always try to keep the numbers as low as possible.

Workflow text and visual designers

Jira has two ways of editing workflows – visual and text. Both provide almost similar functionalities and the choice depends on your preferences. However, when designing a workflow in the text mode remember to also edit it in the visual, diagram designer. This solution makes it possible to arrange the workflow from a graphical perspective. You can place the workflow statuses and transition in a way that is transparent for the user.

Advanced workflow features

Jira workflows provide some powerful features to make them even more in-line with internal processes and also make the work easier. We can point out four types of advanced workflow features: triggers, conditions, validators, and post functions. Every type serves a different purpose.

Workflow triggers are used to synchronize a workflow transition with action in another Atlassian product. A good example is creating a new branch in Bitbucket upon transitioning the issues from To Do to In Progress status.

Workflow conditions make it possible to check if a certain requirement is met and the user can execute the transition. If not, the workflow transition will not be visible on the issue. With workflow conditions, you can restrict the execution of a transition e.g. only to the reporter or a user with a certain role in the project.

Workflow validators check if the data on the issue meets certain requirements. The data validated can be also provided on a transition screen. If the validation fails, the workflow transition will not be executed.

Workflow post functions are used to implement automation rules for the workflow and are executed after the transition. For example, you might want to set the current user in the Assignee field when the issue is transitioned from To Do to In Progress status.

Key takeaway

Workflows in Jira are a flexible way of designing processes. As a set of statuses and transitions, they form a lifecycle of an issue. Depending on your needs, you can create restrictive and complex workflows (e.g. to be compliant with the law or industry policies) or a lightweight, easy-to-understand solution. No matter which way you’ll go, try to keep things as simple as possible. This will pay off in easier maintenance. Also, remember about the graphical part of your workflow – this is something your users and fellow administrator will admire.