Learn Jira Query Language with JQL Cheat sheet and JQL Function
The “IS NOT” operator can only be used with EMPTY or NULL. That is, it is used to search for issues where the specified field has a value. That is, it is used to search for issues where the specified field has no value. Using search in Jira https://deveducation.com/ Software can help you gain key project insights and answer questions that are relevant to the team. The three flavors of search in Jira software — quick, basic, and advanced — can help you find important information about your projects.
- You can then click on one of the suggested operators to continue building your JQL query.
- This is really helpful for new Jira users who want to learn about Jira’s JQL search capabilities.
- Returns issues that have an SLA that is paused due to a condition.
- A simple query in JQL is known as a “clause” and it consists of a field, followed by an operator, followed by one or more values or functions.
- If you need help referencing the syntax, you can always click on the question mark on the right of the search box.
- To use this JQL function, turn on Customer service management on the Features page in Project settings.
But effective query writing skills can also be quite helpful to other members of the team. In addition to built-in JQL, the Atlassian Marketplace contains plugins with advanced JQL functionality. The Full-Text Search Attachments for Jira Plugin, for example, enables JQL statements to search attachments for the name, type, and content. You can even build your own plugins with Java, JavaScript, CSS, and HTML skills.
Performing text searches
Although Jira JQL is pretty good at narrowing down from huge piles of issues, sometimes your query will still return a volume of issues that’s simply too large. They are always represented as a word followed by parentheses containing fields or values. For this example, let’s say we want to find all issues that are urgent and not done within a specific Epic link. JQL is also jql contains getting better, especially ever after the Jira 8.0 release. Now running JQL searches 33% faster than Jira 7.12 and almost entirely eliminating memory issues previously faced when making complex searches. A common example would be creating a custom dashboard to display information for stakeholders without requiring them to log in to Jira to sort through issues by hand.
Perform searches based on the earliest unreleased version in a project. So if you are creating a saved filter that you expect to be used by anonymous users, do not use this function. You can use a JQL filter to make a board that shows the relevant issues based on whatever criteria you want. JQL is a flexible yet robust logic that can be used in a variety of different ways.
JQL operators
This query would return the same results with or without the parentheses. You can set precedence in your JQL queries by using parentheses. Parentheses will group certain clauses together and enforce precedence. This ensures that everyone understands what a specific filter does. And avoids other users creating duplicate filters if they’ve missed the point of an already existing filter. If you find yourself needing to search the same query on a regular basis, you can save it for later use.
Values are the actual data in the field under consideration. In the case of the ‘issue type’ field, values can be ‘bug’, ‘feature request’ etc. JQL, like SQL and GraphQL, enables easy access to large data sets. These queries are similar in nature, even though they operate on different platforms. Jira Query Language enables anyone to build queries that can be executed in Jira to produce a set of results. These queries are very similar to SQL, GraphQL, and other query languages that enable easy access to large databases or data sets.
For example, you can use the ORDER BY clause to sort Jira issues either in descending or ascending order or narrow down your search results for the desired date range. Search for issues using the text field with the right syntax. You can use the syntax for text fields when searching for recent issues, specific issues (supported fields), and advanced search (when CONTAINS (~) operator is used). To view a detailed information about keywords and how to use them for advanced searching, check out Keywords reference page. This query will return all resolved issues from the Teams in Space project (clauses grouped by AND), and also all existing issues assigned to captainjoe. You can do a great deal with fields, values, operators, and keywords.

That is, typing status WAS NOT IN (“Resolved”,”In Progress”) is the same as typing status WAS NOT “Resolved” AND status WAS NOT “In Progress”. Using “WAS IN” is equivalent to using multiple WAS statements, but is shorter and more convenient. That is, typing status WAS IN (‘Resolved’, ‘Closed’) is the same as typing status WAS “Resolved” OR status WAS “Closed”. This operator can be used with the Assignee, Fix Version, Priority, Reporter, Resolution, and Status fields only.
Perform searches based on the start of the current month. See also startOfDay, startOfWeek, and startOfYear; and endOfDay, endOfWeek, endOfMonth, and endOfYear. Search for issues and sub-tasks that are linked to an epic. Find issues that you have recently viewed, i.e. issues that are in the ‘Recent Issues’ section of the ‘Issues’ drop-down menu. Returns issues that have an SLA that has completed at least one cycle. It is possible for an issue to belong to both a completed Sprint(s) and an incomplete Sprint(s).