JIRA and JIRA ServiceDesk are used in a wide range of organisations to solve an endless variety of operational problems but at its core JIRA is a work tracking tool built around the concept of tracking work items (tasks, problems, customer issues, bugs, etc) through a set of defined stages.  The stages that items in JIRA move through are collectively known as the JIRA Workflow and by default JIRA & JIRA cloud accounts come preconfigured with a simple JIRA Workflow, often referred to as “JIRA classic”.

JIRA workflows are customisable and provide pre-defined templates that are available for download as JIRA add-ons. To read more on JIRA workflows we recommend the Atlassian support document:

To find out what workflow your JIRA project is configured for, find a JIRA issue for the project and click on the “View Workflow” link on the issue status field. Note: that different JIRA issue types may have different workflows.

Understanding your JIRA workflow is essential for getting the best data out of your JIRA system. For example, if we want to collect a work in progress KPI and we are using the default workflow we can use JQL to search for issues that have a status of "In Progress", however, many organisations operate much more sophisticated JIRA workflows with potentially multiple “In Progress” states. For example the following workflow defines potentially six states that could be considered as “In Progress”:

  1. In Progress

  2. Test

  3. Ready For Development

  4. Ready For QA

  5. Ready For Staging

  6. Ready for Production

Based on the above workflow we might rewrite our example work in progress KPI JQL as:

{base_jql} AND status WAS IN ('In Progress','Test','Ready For Development','Ready For QA','Ready For Staging','Ready For Production') ON '{DATE,yyyy-MM-dd}'

This example uses a ServiceClarity variable called {base_jql}  to simplify an already complex JQL query. We could also define a custom variable for our 6 “In Progress” states which would simplify the JQL and enable reuse of the definition of what is in progress across multiple KPIs.

We can now use our new active.states variable to rewrite our previous JQL for a work in progress KPI as:

{base_jql} AND status WAS IN ({active.states}) ON '{DATE,yyyy-MM-dd}'
Did this answer your question?