- [email protected]
- Atlassian Consultancy
- Managed Services
- License Management
- Product development
Expert Atlassian & monday.com Consultancy
For Businesses Seeking Seamless Collaboration and No-Nonsense Solutions
- Managing Brussels Airport ICT
- Metronom Health
- Reaching the globe with TVH
The Jira JQL Advanced Guide: How to Search Jira Issues Like a Pro
JQL, or Jira Query Language, is a flexible tool that allows you to search for issues in Jira and pinpoint exactly what you are looking for.
Knowing how to search your Jira instance effectively can literally save you hours of work.
Power users who employ Jira on a daily basis may already have a grasp of the Jira query language. But effective query writing skills can also be quite helpful to other members of the team.
Many non-technical Jira users tend to shy away from using JQL to its full potential. Terms like operators and keywords can sound a bit frightening to less technical employees. It sure was to me when I first started using Jira!
However, this tool was designed so that anyone can benefit from its features. Even non-technical users can get the hang of it when guided in the right direction. For example, if you want to find all issues assigned to yourself, just enter “my” in the search bar or type “r:me” to find all issues that you’ve reported. And this is just the start!
In this guide, we’ll walk you through all the fundamental concepts you need to know to master JQL and become a pro-Jira searcher.
What is JQL?
Jira Query Language (or JQL) is one of the most powerful tools available in Jira.
The system uses the following data to filter issues. And, in turn, helps you find what you’re looking for much faster:
For example, if you wanted to find all unplanned issues, you could search for issues with a status field that is not closed, and with empty fields for epic links and fix versions.
Or let’s say you needed to figure out if your project has scoping problems. You could narrow your search for issues that are not closed in the current sprint AND that were previously assigned to another sprint. This would tell you how many issues were out of scope in the last sprint and couldn’t be completed.
JQL is also 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.
Overview of Jira Query Language Interface
Under “Issues” in the dropdown menu, you can find the “Search for Issues” option:
This will open up the search screen. By default, this screen brings you to the basic search tool. Which you can use to filter issues using predefined fields like:
- Contains text
You’ll notice the “Advanced” option to the right of the filters:
This is where you’ll have access to Jira JQL.
Basic vs Advanced Searching in Jira
Basic searches in Jira are useful up to a certain point. They’re quick to fill in and easy to use.
However, you’ll reach their limitations pretty quickly, since you are limited by the existing forms.
With Advanced Searching, you’ll be forming your own JQL queries.
Breaking Down a JQL Query
A JQL query is a set of words and operators that define how Jira will narrow your search.
In basic searches, the queries are already pre-built for you. Whereas you’ll have to write them from scratch in JQL.
All queries are made up of fields, operators, values, and keywords.
Fields in Jira Query Language
A field is a piece of information that describes issues – this is what you fill in when you use basic searches.
Some example of Jira fields are:
- Fix Version
You can view a list of all fields in Jira’s documentation.
Values in Jira Query Language
Values are data points in your queries.
They’re essentially what you’re looking for in relation to your fields.
For example, possible values for the Priority field would be:
Operators in Jira Query Language
Operators are mathematical signs like equals (=), doesn’t equal (!=), greater than (>), less than or equal (<=), etc.
They describe how your field relates to your value.
In the above search, you’re searching for issues with an Epic Name (field) that is equal to (operator) “Audio Development” (value).
“IN” is also useful and allows you to simplify queries. Rather than running multiple status queries, for example, you can use the following:
status IN (“To Do”, “In Progress”, “Closed”)
Equally, you could use:
issue IN linkedIssues(“ID-101”)
To identify all the issues linked to a specific issue. You can also use “NOT IN” to identify everything that falls outside that query.
Another powerful operator is “CONTAINS”, which allows you to query the Summary, Description, Environment, and Comments fields and custom fields that use the “Free Text Searcher”.
“WAS”, meanwhile, allows you to call up everything that was previously connected to a given state but isn’t anymore, e.g.:
assignee WAS francis
You can also use “WAS” as well as “WAS NOT”, “WAS IN” and “WAS NOT IN” as you need.
Keywords in Jira Query Language
Keywords make up the JQL language. Each keyword has a specific meaning that further narrows the search, like “AND” and “OR”.
Typing “AND” in your query will return issues that match both conditions of your search.
For example, this search will return all issues that are currently in high priority and also have the “To Do” status:
On the other hand, “OR” will return all issues that fulfill either of your conditions.
The same search as above with an “OR” keyword would return:
- all issues that are high priority,
- all issues that have a “To Do” status
- and all issues that have a combination of both of these conditions.
A JQL Tutorial: Putting it All Together
Now that you know the basics, let’s walk through a JQL example in Jira.
When you click on “Advanced Search”, you’ll get a search bar with no pre-made filters.
Once you start typing your query, Jira will tell you whether or not your query is valid with a green checkmark on the left. If you get a red X, it means your search is not valid:
If you need help referencing the syntax, you can always click on the question mark on the right of the search box.
What’s really handy about Jira JQL is that it will auto-suggest as you type. This allows you to get the syntax right when you don’t know it by heart.
For example, let’s say we start our query by searching the “Priority” field. You can type “Priority” in the search box. And JQL will automatically suggest what should come next: an operator.
You can then click on one of the suggested operators to continue building your JQL query.
A Jira Query Language example using AND
For this example, let’s say we want to find all issues that are urgent and not done within a specific Epic link.
Your query would look like this:
So how does this query fit in with what we’ve learned before? Let’s take each section of this query and break it down step by step:
Priority : Field
= : Operator (Equal to)
Urgent : Value of “Priority” field
AND : Keyword
Status : Field
!= : Operator (not equal to)
Done : Value of “Status” field
“Epic Link” : Field
STAN-5 : Value of “Epic Name” field
A JQL example for “OR” Keyword
What if you’re looking for urgent issues that are not done for a specific Epic, but also want to see high priority issues?
Let’s run the same query again, but this time using “OR”:
The rest of the query remains the same, except for the addition of an “OR” keyword and a query for high priority issues.
Precedence in JQL
What happens if you use both “AND” and “OR” keywords, though? In short, “AND” takes precedence. That means if two clauses are connected by an “AND” then they’ll be grouped together and treated as one unit. Clauses linked by an “OR”, on the other hand, will be treated as a separate unit. That means:
Example. 1: status=resolved OR project=”Planning” AND assignee=Francis
Example. 2: status=resolved AND project=”Planning” OR assignee=Francis
In example 1, the query will return all resolved items in addition to all items assigned to Francis in the Planning project. In example 2, the query will return all resolved items from the Planning project and all items assigned to Francis. That said, if you run:
status=resolved AND (project=”Planning” OR assignee=Francis)
Then you will get all resolved items from the Planning project as well as all resolved items assigned to Francis.
Using Jira JQL Functions for advanced searches
You can do a great deal with fields, values, operators, and keywords. But if you want to tap into complex logic that is easily accessible, you’ll need functions.
A function is a pre-made command that users can plug into their query to return certain values.
They are always represented as a word followed by parentheses containing fields or values.
For example, if we wanted to find all issues linked within another issue, we could use the linkedIssues() function:
The value in the parentheses is the issue we are searching for links.
Not all JQL functions need to have a value within the parentheses. For example, if you want to check out which issues are assigned to a completed sprint, you would type in the following:
sprint in closedSprints();
Jira JQL functions are especially powerful when combined with the other elements of JQL.
Let’s say I’m trying to search which urgent issues are due in two days within a certain project (writing this article, for instance) and assigned to a specific user (me). The endOfDay() function would come in handy here.
The query would look like this:
due < endOfDay(“+2”) AND assignee = francis AND project = “BLOG” AND priority = Urgent
I’ve added +2 to the endOfDay() function because I needed to find out what is due in two days. Whereas the JQL function on its own would return only what is due at the end of the current day.
As you can see, we have 3 ‘AND’ keywords separating 4 different conditions for our JQL query. If we were to show this information in a graph, it would look like this:
Note: For a list of all available functions as well as the appropriate syntax and supported fields and operators, you can refer to Atlassian’s reference page.
JQL Scoping vs Sorting: narrowing down your data.
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.
At this point, scoping and sorting comes into play to help you get to the information you need, in the priority you need it.
Scoping involves focusing your query in a specific way so that the search only returns the information that is relevant to you.
It can often be overwhelming to start with a long and complex query when performing your search. So you could just start with a wide search and narrow down from there.
Here’s an example.
Let’s start with a very general query: all open issues within a specific project:
Project = “BLOG” AND status = open
This is going to return a whole lot of issues, so let’s narrow down by current sprint:
Project = “BLOG” AND status = open AND fixVersion = “Current Sprint”
Let’s say we wanted to know which issues are urgent or high priority in our current sprint and got moved from the last sprint to find out if any urgent issues are being neglected. You can narrow down like this:
Project = “BLOG” AND status = open AND fixVersion = “Current Sprint” AND fixVersion WAS “Last Sprint” AND (priority = Urgent OR priority = High)
With the above search, you’ll get a very specific view of high or urgent priority issues that were carried over from the last sprint.
This will allow you to investigate how often this happens and why.
On the other hand, JQL sorting will allow you to order the list of returned issues in a specific manner using the keyword “ORDER BY”.
Here’s what I mean.
If you wanted the above query to be ordered by assignee, you could add to it like this:
Project = “BLOG” AND status = open AND fixVersion = “Current Sprint” AND fixVersion WAS “Last Sprint” AND (priority = Urgent OR priority = High) ORDER BY assignee
If you wanted to sort your issues using more than 1 field – for example, by assignee and by due date – you’d need to list your sorting fields in order of priority:
ORDER BY assignee, duedate
In the above query, Jira would return a list of issues sorted by assignee first, then sort by due date for all issues with the same assignee.
Smart JQL Tricks
That covers the basics of using Jira Query Language.
However, there are many more features that will save you even more time and hassle.
Let’s get into some smart JQL tricks.
Saving JQL Filters
No need to retype the same filters over and over. If you find yourself needing to search the same query on a regular basis, you can save it for later use.
You can set up your filters to appear on your dashboard. That way, you’ll have access to your search results with a single glance.
To save your current filter, click on the “Save As” button near the top left – you’ll be prompted to name your filter:
Note that this feature is also available for basic searches.
Sharing Your JQL Queries
Once a filter is created, you can select it to share it with other users.
You can do this in several ways:
- Use the “Share” button at the top right corner
- Export the filter in another format using the “Export” button (next to “Share”)
- Changing permissions on your filter to add more users
A subscription will trigger Jira to run JQL queries on a scheduled basis and send you the results via email.
You’ll avoid needing to login to Jira on a regular basis just to perform a query yourself.
You can even send your subscriptions to other users as well.
When you set up a new subscription, you can choose to schedule them on a specific interval, as seen below:
This is especially useful for:
- Creating reports on a regular basis
- Keeping track of critical issues
- Getting visibility of new incoming issues
Consistent Filter Naming
Once you end up with several filters, it’s important to use a consistent naming nomenclature.
For example, you don’t want your filter names to look like this:
By looking at both of the above filter names at a glance, it’s really difficult to organize them because they seemed to be named in a random manner.
Use specific nomenclature to keep track of your filters. And make sure the rest of your team does the same.
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.
For example, if we were to rename the two filters above, we could use the following nomenclature:
This would give us the following names:
You’ll thank yourself later when you’re looking for specific filters!
A number of JQL fields are particularly useful for project tracking.
- “workRatio” – query issues by how much of the original work ratio has been spent, for example, “workRatio > 25” (where more than 25% of the work is complete)
- “worklogDate” – find issues that have comments in work log entries within specific date ranges, for example, “worklogDate > “2020/12/12″”
- “worklogAuthor” – search for issues by the users who have logged work against them, for example, “worklogAuthor = “Francis””
- “watchers” – track issues by the number of people watching them, for example, “watchers > 10”
- “watcher” – allows you to see which issues specific individuals are tracking; while “voter” and “votes” have equivalent functions
If you’ve got a grasp on JQL basics, the Atlassian Marketplace has several ready-to-install plugins to enhance your searching experience:
- JQL Tricks Plugin : This plugin offers over 50 extra functions. It also allows you to limit the plugin functionality to selected groups and/or limit individual functions to selected projects.
- JQL Search Extensions : These easy-to-use keyword add-ons extend your ability to find issues, comments, subtasks, attachments, versions, epics, and links. It’s currently the most popular search extension for Jira Cloud.
- JQL Booster Pack : With this plugin, you’ll get 15+ functions to extend your search capacities. These include user-related functions to have better team control, get an overall picture of your users’ recent activities, and functions to get rid of archived versions.
- JQL Functions Collection : The extra functions available in this plugin allow more complex functionalities using string and date formats.
- Groups and Organisations JQL : With two pairs of simple-to-use functions, you can match single and multi-group custom field values with the user’s groups or the Organizations field with the organizations a user belongs to.
- Scripted JQL Functions : This handy plugin allows you to harness JQL functions without having to learn the Atlassian SDK. It’s both a library of JQL functions that you can modify/extend and a simple way for you to create your own JQL functions.
This concludes the basics of JQL!
Hopefully, you’ve now got a grasp of how to scope and sort your way through Jira databases now that we’ve covered the following:
- The anatomy of a JQL query
- How to use keywords and operators to narrow your search for multiple fields
- How to scope and sort to get the most out of JQL
- How to save filters and subscriptions to save yourself time for your future searches
Mastering JQL will allow you to navigate Jira at speed and get far more value out of the product. Making the most of Jira’s massive feature set will also mean that you’re able to manage your projects and finetune your workflows much more effectively – making your team better, faster, and more efficient all around!
- Jira to Jira Sync: How to Synchronize Multiple Jira Instances in 8 Steps
- A Complete Guide to Advanced Roadmaps for Jira
- Jira Automation: Get the Basics Right
- Jira for Project Management: Level up your Business Activities
- GDPR: The Complete 2022 Guide to Compliance Regulations in Jira
- Jira Integrations: Integrate Jira and Other Systems Bidirectionally
Subscribe to our newsletter to receive monday.com insights & events
A Complete Guide to Jira Subtasks
Jira’s power comes from just how much the platform can be extended and customized at every level – from the very top, at the level
Everything You Need To Know About Jira Reporting
This blog post was written by Khrystyna Shparyk from AlphaServe. For businesses that use Jira for their IT and customer service management, Jira reporting becomes
ESM vs. ITSM: Key Differences in Enterprise and IT Service Management
The IT Service Management (ITSM) philosophy has transformed the way that organizations deploy their IT resources. Enterprise Service Management (ESM) takes this a step further,
How to Create a Filter in Jira
What Are Jira Filters?
Filters in Jira are used to sort and segment issues by criteria you set. For example, you can use filters to narrow a list of issues down to see only those that are assigned to you, only those of a certain issue type (story, bug, epic, etc.), only those assigned a specific priority, only open issues, and more.
There are more than two dozen criteria you can use to filter your Jira issues, and you can also filter by multiple criteria to view only issues that match very specific conditions.
Creating a filter in Jira starts by conducting a search. Click the magnifying glass icon in Jira's left navigation menu.
In the panel that opens, click Advanced search for issues just below the search bar.
Use the dropdown fields to sort your issues by project (1), issue type (2), status (3), and/or assignee (4). Use the text field (5) to search for issues that contain specific words or phrases. Or click the More dropdown (6) to sort by more than two dozen other criteria like epic name, due date, sprint, or priority. Then, click the measuring glass icon to conduct your search.
Check your search results to make sure the issues that display are the issues you want to filter for. Then, click the Save as to convert your search criteria into a filter.
Give your filter a name and click Submit . You've now created your first filter in Jira.
How to Access Your Filters in Jira
After you've created the filters you need, you can access them by clicking the Issues and filters tab in the left navigation menu.
Filters you've created appear under the STARRED section of the left navigation menu.
Just click on any filter to display all issues that match that filter's criteria.
Or you can click View all filters at the bottom of the left navigation menu to open a list of all of the filters you've created.
How to Edit Your Jira Filters
If you want to share your filters with others, favorite (star) or unfavorite (de-star) them, or make changes to your filters' names, you can do so from the View all filters screen.
Like you did above, click Issues and filters in the left navigation menu, scroll down, and click View all filters .
Next, click the three horizontal dots icon next to the filter you want to edit, then click Edit filter details . From this menu, you can also make copies of your filters or delete them if you no longer need them.
Make the necessary changes in the Edit Current Filter screen, then click Save to apply your changes.
How to Subscribe to a Filter in Jira
Subscribing to a filter in Jira lets you get periodic email updates of issues that match your filter criteria. To subscribe to a filter:
As above, click Issues and filters in the left navigation menu, and then scroll down and click View all filters . Next, click the three horizontal dots icon next to the filter you want to edit, then click Manage subscriptions .
Click the Add subscription button.
Fill out the overlay form to select email recipients, choose how often recipients receive email updates, and select the time the emails are sent. Then, click Subscribe to create the subscription.
You can also use these Zaps (automated workflows by Zapier) to get notifications of new Jira issues in Gmail, Outlook, or Slack:
Get Slack notifications for new Jira issues
Send Gmail email alerts for new JIRA issues
Send email alerts for new JIRA issues via Office 365
Or if your team works in Jira but you use a different to-do app, use these Zaps to send Jira issues to your preferred project management app:
Create Trello cards from new Jira issues
Add new JIRA issues to Asana as tasks
Create items on monday.com boards from new JIRA issues
Save new JIRA issues to Todoist as new tasks
Browse all of our Jira integrations to connect Jira to 1,000+ apps.
Jira provides teams with a great way to collect and centralize all of their tasks, but a long list of everything everyone needs to do gets unruly quickly. With filters, you can create more customized lists of issues that help you stay on top of the tasks that are important for you.
Get productivity tips delivered straight to your inbox
We’ll email you 1-3 times per week—and never share your information.
Jessica Greene is a freelance marketing and business writer. A former writing instructor and corporate marketer, she uses her subject-matter expertise and passion for educating others to develop actionable, in-depth, user-focused content.
How to use Buffer for social media management
How to use Buffer for social media...
How to generate a Dropbox direct download link
How to generate a Dropbox direct download...
How to delete blank rows in Excel
How to create an automated email campaign in Mailchimp
How to create an automated email campaign in...
Improve your productivity automatically. Use Zapier to get your apps working together.
Jira Work Management Support
- Get started
Get started with Jira Work Management
New to Jira Work Management? Check out our guides for new administrators and users.
Set up Jira Work Management
Learn how to set up Jira Work Management, integrate it with other applications, and see team use cases.
Administer your business project
Learn how to configure your Jira Work Management project.
Work in Jira Work Management
Get to know everything you need to know about working in Jira Work Management.
Search for issues in Jira
Search for issues, navigate to your work, use advanced search, and work with your search results.
Answers, support and inspiration
Cloud services health
Suggestions and bugs
Feature suggestions and bug reports
Billing & licensing
Frequently asked questions
- Log in to account
- Contact support
- Training & Certification
- Atlassian Migration Program
- GDPR guides
- Enterprise services
- Atlassian Partners
- Success Central
- User groups
- Automation for Jira
Filter items to find what you need in your project
You can filter items in your list, board, calendar, timeline, and attachments view. Filtering helps you focus on specific details in your projects and overviews to find important information without having to scroll through your entire team's work. You can check high-priority tasks to see that nothing is blocked or see individual team members' workloads at a glance.
All users can use the filter in these views
Your filter will only be visible to you
Your filter will persist when when navigating between views and different projects
In the attachments view, filters will be applied to the issue, not the attachment. For example, filtering by a specific date will show issues within that date range.
Filter items in your board, list, calendar, timeline or attachments view
Filter the items you’re searching for by selecting Filter drop-down at the top-right of the board, list, calendar, timeline, or attachments view. You can either apply quick filters or other filters but not both at once.
Apply quick filters
You can apply one or more of the following quick filters:
Assigned to me
Due this week
To view your Done items in the Board view, refer to the Done column of your board. You’ll only be able to view a done item in the Done column for 14 days of it being moved there. After 14 days, the board will omit the item. You’ll still be able to see Done in the list, timeline, and calendar view.
Apply other filters
You can also apply the following filters to view specific items:
Date range: You can filter items by a specific date range by selecting the Start date and Due date
Assignee : You can filter items by selecting the avatar or by searching the name of the assignees. You can select Unassigned to view items that don’t have an assignee
Category : You can filter items by the categories added to your project. You can select No category to view items that don’t have a category assigned
Type : You can filter items based on their issue type. For example, you may only want to filter by subtask. You can filter your items based on whether they are tasks or subtasks.
Labels : You can filter items by selecting a label added to your project. You can select No label to view items that don’t have a label assigned
Priority : You can filter items based on priority such as blocked, highest, high, medium, low, and lowest
Reporter : You can filter items by selecting the avatar or searching the name of the reporter
Status : You can filter items based on status, for example, to do, in progress and done
The Date range filter is not available in the board view.
The user fields (for example, Assignee and Reporter) show all the users in the instance not just the project
To clear your filters:
Select Filter from the top right of your screen.
Select Clear in the top right of the drop-down.
You can also select ( x ) next to the fields to clear the applied filter.
When cleared, the board, list, calendar, or timeline reverts to the default view, showing all items.
Filter by assignee using avatars
To see the items assigned to a particular team member, select their avatar at the top left of your preferred view and you will see all the items filtered by that assignee.
Subtasks when a filter is applied
When filtering items you’ll still see both parent issues and subtasks if they match your filter however, child issues will not be nested under their parent.
Filter by custom fields in the list, calendar, timeline and attachments view
You can filter by the following types of custom fields in the list, calendar, and timeline view of your project:
User picker (company-managed projects only)
People field (team-managed projects only)
Filter by custom fields in the board view
You can filter by the following types of custom fields in the board view of your project:
Learn more about custom fields
Was this helpful?
- Filter items in your project
- Save your filters
Ask a question
- Jira Jira Software
- Jira Service Desk Jira Service Management
- Jira Work Management
- Confluence Confluence
- Trello Trello
- Technical support
Atlassian Community Events
- Atlassian University
- groups-icon Welcome Center
- groups-icon Featured Groups
- groups-icon Product Groups
- groups-icon Regional Groups
- groups-icon Industry Groups
- groups-icon Community Groups
- Learning Paths
- Courses by Product
Earn badges and make progress
You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
1 badge earned
Participate in fun challenges
Challenges come and go, but your rewards stay with you. Do more to earn more!
Gift kudos to your peers
What goes around comes around! Share the love by gifting kudos to your peers.
Rise up in the ranks
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
Get product advice from experts
Join a community group
Advance your career with learning paths
Earn badges and rewards
Connect and share ideas at events
- Jira Software
- One of our users does not receive JIRA's mail notifications. Why?
One of our users does not receive JIRA's mail notifications. Why?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Suggest an answer
Still have a question?
Get fast answers from people who know.
Was this helpful?
Deployment type, product plan, permissions level, community showcase.
- Understanding Issue Types in Jira
- What are Issues in Jira
- What’s the difference between a kanban board and a Scrum board?
- New Portfolio Cloud Experience Beta
- Announcement: Project Level Email Notifications for next-gen projects on JSW/JSD
- Community Guidelines
- Notice at Collection
- © 2024 Atlassian