JQL (Jira Query Language) (J Query Language) is a powerful query language designed by Atlassian for searching and filtering issues in Jira, a popular project management tool. Using JQL allows users to search issues by specific fields, conditions, and other criteria.
JQL (Jira Query Language) (J Query Language) is a powerful query language designed by Atlassian for searching and filtering issues in Jira, a popular project management tool. Using JQL allows users to search issues by specific fields, conditions, and other criteria.
With JQL, you can construct queries to manage tasks, monitor projects, and generate custom views for teams. This guide will provide an overview of syntax, query examples, and tips to help you master JQL.
JQL queries consist of field, operator, and value components. You can combine these using logical operators.
JQL queries consist of field, operator, and value components. You can combine these using logical operators.
field operator value
project = "PROJ" AND status = "Open"
status = "Open" OR status = "In Progress"
NOT status = "Closed"
Fields are the attributes of issues in Jira, like status, assignee, priority, etc.
projectstatusassigneereporterpriorityresolutionissuetypecreatedduedatesummaryproject = "PROJ" AND assignee = "username"
Operators define how conditions are compared.
OperatorDescriptionExample=Equalsstatus = "Open"!=Not equal tostatus != "Closed">Greater thanduedate > "2023-12-31"<Less thanduedate < "2023-12-31"INMatches any value in a listpriority IN (High, Critical)NOT INExcludes values in a listpriority NOT IN (Low, Medium)~Text search (case-insensitive)summary ~ "login"!~Excludes text match summary!~ "login"
JQL has predefined functions to make searches dynamic.
FunctionDescriptionExamplecurrentUser()Refers to the logged-in user.assignee = currentUser()now()Represents the current date and time.created >= now() - 7dmembersOf("group")Matches members of a specific group.assignee in membersOf("dev-team")openSprints()Finds issues in currently open sprints.sprint in openSprints()resolved()Finds issues that are resolved.resolution = ResolvedrecentlyUpdated()Matches issues updated recently.updated >= -1d
In JQL, logical operators like AND, OR, and NOT can combine multiple conditions to create complex queries.
The AND operator ensures that all conditions must be true for an issue to match the query.
project = "PROJ" AND status = "Open"
The OR operator returns issues that meet at least one of the conditions specified.
status = "Open" OR status = "In Progress"
The NOT operator excludes issues that meet the condition specified.
NOT status = "Closed"
Logical operators can be combined with parentheses to create even more refined queries.
assignee = currentUser() AND (priority = High OR priority = Critical) AND resolution = Unresolved
created >= "2023-12-01" AND created <= "2023-12-15"
status in (Open, "In Progress", "Reopened")
project in (PROJ1, PROJ2, PROJ3)
Once you’ve created a useful query, you can:
If you get unexpected results:
yyyy-MM-dd by default).
September 17, 2025
Jira's Time in Status report by RVS is a powerful tool that helps teams analyze workflow efficiency, identify bottlenecks, and optimize processes. Here are some real-world use cases
Read MoreSeptember 10, 2025
Managing project timelines and ensuring timely delivery is a crucial aspect of any project. Measuring the status transition duration in Jira helps you track how long an issue spends in each stage of its lifecycle. You can use different methods to measure this, depending on your Jira setup and available tools.
Read MoreAugust 13, 2025
Aren’t all the businesses that are working on various projects willing to invest their time! Investing time in the right direction is the key to good project management, and analysing and managing this correctly is an intrinsic quality of a good project manager.
Read More