Learn Jira Query Language with JQL Cheat sheet and JQL Function
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. JIRA has a stable REST jql queries examples API to access issues that lets you use the same JQL you do in the UI. The REST endpoint for search returns structured JSON data that’s easy to process and manipulate. The query controls for priority and limiting the created time properly scopes the query.
A function should not return references to Jira objects (for example, projects, issues)
that the user is not allowed to see. Further, a function should not leak information about Jira objects
that the searcher does not have permission to use. For example, a function should not differentiate
between a project not existing and a project that the user has no permission to see. It is possible for your Jira administrator to change the name of a type, which could break any saved filter that rely on that name. Note, it is safer to search by resolution ID than by resolution name.
The `ORDER BY` keyword, for example, can be used to order the results by `priority, `assignee` or other relevant attributes. When passed a Long QueryLiteral, it will look for all issues with an Affects Version of the
specified ID. This is useful when a function would need to identify a particular version exactly. Where possible, we suggest that functions try to return IDs so that query results are unambiguous.
In simple words, Jira Query Language (JQL) is a query language used to extract specific data from a database using text queries. Search for requests that were created on, before, or after a particular date (or date range). Search results are relative to your configured time zone (which is by default the Jira server’s time zone). Search for issues that belong to a particular component(s) of a project.
Effective project management requires specific metrics from the issue tracker relevant to your project. The “IN” operator is used to search for issues where the value of the specified field is one of multiple specified values. The values are specified as a comma-delimited list, surrounded by parentheses. In this query the “is empty” statement only includes issues where the value of the assignee field is blank.
It is possible for your Jira administrator to change the name of a resolution, which could break any saved filter that rely on that name. Resolution IDs, however, are unique and cannot be changed. Note, it is safer to search by priority ID than by priority name. It is possible for your Jira administrator to change the name of a priority, which could break any saved filter that rely on that name. When searching JIRA, it’s easy to perform searches that return too many issues. In the above example both diagrams have the same number of issues we care about (issues with A on them) but the first query isn’t specific enough.
Elements of a JQL query
JQL knowledge is mainly required when you do an advanced search. Queries can be constructed using a combination of keywords, operators, fields, and values. Different projects may have versions with the same name, so searching by version name may return issues from multiple https://deveducation.com/ projects. It is also possible for your Jira administrator to change the name of a version, which could break any saved filters that rely on that name. The advanced search allows you to build structured queries using the Jira Query Language (JQL) to search for issues.
- Groups can be defined inside of Jira or come from existing groups in your company’s preexisting directory servers.
- Finally, the EMPTY QueryLiteral will make the affectsVersion
condition look for all issues that have no Affects Version set.
- Every issue will have a unique project name, issue key, assignee, status, time taken, and so on.
- Effective project management requires specific metrics from the issue tracker relevant to your project.
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. This means that your function can (and probably will) be
called by two threads at the same time.