Step up your game in Jira with these five JQL hacks - Valiantys - Atlassian Platinum Partner

Step up your game in Jira with these five JQL hacks

Jira Query Language (JQL) truly extends the search capabilities in Jira – which we reviewed in our previous article Jira JQL functions: the ultimate guide. Yet there is a certain finesse to getting your queries just right in order to find the exact information you’re looking for, otherwise a small nuanced error can easily throw you off.

Are you ready to join the all-star Jira admins by stepping up your JQL skills? Here are five JQL hacks which ensures you’ll find what you need quickly and efficiently.

1. Find all issues after the creation of one specific issue

Sometimes it is useful to view all the issues which were created after a certain issue was made, rather than execute a query for after a specific date.

In Jira, issues are identified in a unique way from the key, composed of the project and a designated number (which is assigned incrementally for each issue created).

By using the keyword “Key”, you can compare the keys from the issues of a project to one defined issue. For example:

  • Key >= VSD-30 will query all the issues created since VSD-30

Note: To find issues created or updated since a certain date or during a certain period, you can use the fields “Created” and “Updated.”

2. Find all queries which exclude a certain parameter

Executing queries that exclude a certain parameter can be tricky. Effectively, if you use the JQL function “not in” or “!=”, it allows you to find all the issues that exclude a parameter – yet the results will only be composed the issues which has a value in this field.

For example:

  • duedate != 2017-3-10 – queries all the issues which the due date does not equal March 10th, 2017. Here, you will not get issues in your results in which the due date field is empty.

If the above is problematic, the solution is to add a clause to include the empty fields:

  • duedate != 2017-3-10 or duedate is empty –  this queries all issues which the due date does not equal March 10th, 2017, along with those issues which the due date field is empty.

3. Use an approximation search

In JQL, “~” is available for several fields to search a string of characters or a few characters; for example if the user is looking for a ticket concerning a VPN:

  • description ~ vpn

Be aware that the search takes into account the spaces (obviously not between the quotation marks). 

Sprint particularities

In Jira Software, it is not very practical that all your projects’ Sprints, which you have permissions, are all viewed at once. Therefore with the keyword “Sprint”, the “=” functions like a “~”. You can therefore search the sprint’s name by approximation.

As such:

  • Sprint = “SP” – shows all the issues which the Sprint is, for example, “SP – Sprint 1” and “SP– Sprint 2”

4. Optimize your data by leveraging your projects’ categories

Tired of selecting the same 10 projects? Using categories in your JQL query is helpful, as it can aggregate a set of projects together.

For example, instead of:

  • Project in (“Mobile Apps”, “DS Agile”, “Market”, “Marketplace”, “Configuration”, “GlobalSupport”, “GeneralFinance”, “Support “, “HumanRessources”, “Databases”)

You can use:

  • Category = “Internal department”

Note: If you can’t find the category that you are looking for, ask your Jira administrator if categories are used for your projects. 

5. Queries on multiple fields

When a JQL query is executed on multiple fields, it is necessary to consider the “=” like the verb “contains”.

For example, issues may contain zero, one or multiple components. For this use case, let’s say we have five components: Jira, Crowd, Hipchat, FeCru and Bamboo. As such:

  • component = Jira or component is empty – will query all issues that contain Jira as a component, alongside all issues in which the component is undefined. Likewise, if an issue has multiple components – let’s say both Jira and Crowd – this query will in fact include this issue with multiple fields.

Now let’s go back to the exclusions queries detailed in hack #2 and try this with multiple components:

  • component ! = Jira or component is empty – in a nutshell this query is the exact opposite of the above example. It will search for all issues that do not include Jira as a component – even if the issue has multiple components – and will also exclude issues where the components field is undefined.

Using the same example, if I want to list all the queries concerning the components Crowd, Hipchat, FeCru and Bamboo, thus excluding all the queries with Jira as a component. If I try to execute the query through exclusion, I will miss out on a query related to both Jira and another component – for example Jira and Crowd. It will then be necessary that I carry out the following query to be sure to get all the components which I want to search for:

  • component in (Crowd, HipChat, FeCru, Bamboo)

JQL search in Jira is full of subtleties. If you’d like to get a better handle over your JQL, our Atlassian Certification Preparation – Jira Administration course covers all the advanced aspects of JQL and prepares you for ACP-JA certification exam.

Cutted Triangle

Subscribe to the Valiantys Newsletter

Registered request ! Subscribing... This is not an email An error occured

In accordance with our privacy policy, we are committed to respecting your personal data.

Contact us

Our Atlassian certified consultants will be happy to answer you.

Join us

We're building the next dream team - Are you in?

Follow us

We use cookies for the operation of our website. This is to improve its use, to personalize your experience, and to compile visitor statistics. By continuing to use this site, you consent to this policy. You can manage the settings and choose whether or not to accept certain cookies whilst browsing. For more information, see our privacy policy. Our privacy policy

Privacy settings

In order to facilitate your navigation and to provide you with the best possible service, we use cookies to improve the site to the needs of our visitors, particularly according to the number of visitors. For more information, please read our privacy policy. Our privacy policy


Google reCAPTCHA is a system designed to distinguish humans from computers, so that bots are unable to maliciously fill out forms on behalf of a human being.


Used to send data to Google Analytics about the visitor's device and behavior. Tracks the visitor across devices and marketing channels. Used by the social sharing platform AddThis to store the user's usage history of the AddThis sharing widget. Registers a unique ID that is used to generate statistical data on how the visitor uses the website.


Targeting Cookies: Targeting cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant advertising on other sites. They are based on uniquely identifying your browser and internet device. You can turn off the use of cookies for targeted advertising here. When the button is green, targeted cookies are on. When the button is red, targeting cookies have been turned off.

Social Media Cookies: These cookies are set by a range of social media services that we have added to the site to enable you to share our content with your friends and networks. They are capable of tracking your browser across other sites and building up a profile of your interests. This may impact the content and messages you see on other websites you visit. If you do not allow these cookies you may not be able to use or see these sharing tools.