This guide explains Jira Query Language (JQL), covering its key componentsβfields, operators, and valuesβto help you create customized queries for efficiently searching Jira issues. It also introduces advanced features like Time in Status for tracking issue progress, making it easier to manage and monitor your projects.

β
Jira Query Language (JQL) is an indispensable tool for anyone using Jira to manage projects, track issues, and streamline workflows. JQL allows you to filter and search through large volumes of issues based on customized criteria, enabling efficient tracking and project management.Β
In this guide, weβll walk you through the basics of JQL, including its syntax, operators, and functions, and show you how to construct powerful queries to help you manage your Jira projects more effectively.
Jira Query Language (JQL) is a flexible and dynamic query language used to search for and filter Jira issues. It enables you to create highly customized queries to find exactly the issues you need, whether itβs for project tracking, bug management, team assignment, or even tracking the time issues spend in each workflow status.
At its core, JQL queries consist of three components: field, operator, and value. Understanding these components will allow you to fine-tune your searches and make the most out of Jira.
β
A basic query might look like this:
project = "PROJ" AND status = "Open"
In this example:
This basic structure is the foundation of all JQL queries. For more advanced tracking, you can use JQL for Time in Status to see how long issues stay in specific statuses, which helps identify bottlenecks or delays in your project workflow.
β
Fields are essentially the attributes or properties of Jira issues, and they define the basis of your search. Some of the most common fields include:
β
Example of a query that uses multiple fields:
project = "PROJ" AND assignee = "username" AND priority = High
β
In Jira Query Language (JQL), operators are used to define how a field and a value should be compared in a query. These operators are essential for refining your search conditions and ensuring your queries return the most relevant issues.Β
Operators in JQL can be classified into two groups:Β
β
β
Logical operators in JQL enable you to combine multiple conditions for more refined searches. For example, using AND, you can find issues that are both high priority and assigned to a specific user:Β
priority = High AND assignee = "username". With OR, you can expand your search to find issues in either "Open" or "In Progress" status: status = "Open" OR status = "In Progress".
The three main logical operators are AND, OR, and NOT.
β
β
Comparison operators in JQL define how conditions are compared. They are used in conjunction with fields and values to refine your search. Here are the most common operators:
β
β
JQL functions are predefined tools in Jira Query Language that allow for more dynamic and flexible queries. These functions perform actions based on the current state of issues, users, or system time, helping you create more powerful and accurate searches.Β
Functions make your queries adaptable by referencing real-time data, such as the current date, logged-in users, or issues in the active sprint.
Some useful JQL functions include:
β
These functions can make your queries much more dynamic and adaptable to changing conditions.
β
You can combine multiple conditions using logical operators (AND, OR, NOT) to create more advanced queries. Parentheses are essential when combining operators to ensure the correct order of evaluation. Hereβs an example:
Find issues assigned to the current user that are either high or critical priority and still unresolved:
assignee = currentUser() AND (priority = High OR priority = Critical) AND resolution = Unresolved
You can even combine multiple levels of conditions to handle complex queries with ease.
β
Here are a few more advanced JQL query examples to help you refine your searches:
β
β
β
These examples demonstrate how JQL can be used to perform highly customized searches across a wide variety of parameters.
β
Once youβve created a useful query, you can save it and use it in your Jira dashboards for ongoing monitoring and reporting. Hereβs how you can leverage saved filters:
Saved filters are incredibly useful for teams that need to track specific issues on an ongoing basis.
β
To make your JQL experience more efficient, here are a few tips:
β
β