robots | noindex |
robots | noindex |
This page describes information about operators that are used for advanced searching.
An operator in JQL is one or more symbols or words, which compares the value of afieldon its left with one or more values (orfunctions) on its right, such that only true results are retrieved by the clause. Some operators may use theNOTkeyword.
EQUALS: =
The "=
" operator is used to search for issues where the value of the specified field exactly matches the specified value. (Note: cannot be used with text fields; see theCONTAINSoperator instead.)
To find issues where the value of a specified field exactly matchesmultiplevalues, use multiple "=
" statements with theANDoperator.
Examples
Find all issues that were created by John Smith:
reporter = "John Smith"
Find all issues that were created by John Smith whose Atlassian account id is
abcde-
12345
-fedcba:
reporter = "abcde-12345-fedcba"
^top of page
NOT EQUALS: !=
The "!=
" operator is used to search for issues where the value of the specified field does not match the specified value. (Note: cannot be used with text fields; see theDOES NOT MATCH("!~
") operator instead.)
Note that typingfield != value
is the same as typingNOT field = value
, and thatfield != EMPTY
is the same asfieldIS_NOTEMPTY
.
The "!=
" operator will not match a field that has no value (i.e. a field that is empty). For example,component != fred
will only match issues that have a componentandthe component is not "fred". To find issues that have a component other than "fred"or have no component, you would need to type:component != fred or component is empty
.
Examples
Find all issues that are assigned to any user's Atlassian account id except John Smith's:
not assignee = abcde-12345-fedcba
or
assignee != abcde-12345-fedcba
Find all issues that are not assigned to John Smith's Atlassian account ID
assignee != abcde-12345-fedcba or assignee is empty
Find all issues that were reported by me but are not assigned to me:
reporter = currentUser() and assignee != currentUser()
Find all issues where the Reporter or Assignee is anyone except John Smith:
assignee != "John Smith" or reporter != "John Smith"
Find all issues where the Reports or Assignee is anyone except John Smith's:
assignee != "John Smith" or reporter != "John Smith"
Find all issues that are not unassigned:
assignee is not empty
or
assignee != null
(Video) (#23) JQL(Jira Query Language) in Jira | Advanced Search in Jira | JIRA Tutorial
^top of page
GREATER THAN: >
The ">
" operator is used to search for issues where the value of the specified field is greater than the specified value.
Note that the ">
" operator can only be used with fields that support ordering (e.g. date fields and version fields), and cannot be used with text fields. To see a field's supported operators, check the individual field reference.
Examples
Find all issues with more than 4 votes:
votes > 4
Find all overdue issues:
duedate < now() and resolution is empty
Find all issues where priority is higher than "Normal":
priority > normal
^top of page
GREATER THAN EQUALS: >=
The ">=
" operator is used to search for issues where the value of the specified field is greater than or equal to the specified value.
Note that the ">=
" operator can only be used with fields that support ordering (e.g. date fields and version fields), and cannot be used with text fields. To see a field's supported operators, check the individual field reference.
Examples
Find all issues with 4 or more votes:
votes >= 4
Find all issues due on or after 31/12/2008:
duedate >= "2008/12/31"
Find all issues created in the last five days:
created >= "-5d"
^top of page
LESS THAN: <
The "<
" operator is used to search for issues where the value of the specified field is less than the specified value.
Note that the "<
" operator can only be used with fields which support ordering (e.g. date fields and version fields), and cannot be used with text fields. To see a field's supported operators, check the individual field reference.
Examples
Find all issues with less than 4 votes:
votes < 4
^top of page
LESS THAN EQUALS: <=
The "<=
" operator is used to search for issues where the value of the specified field is less than or equal to than the specified value.
Note that the "<=
" operator can only be used with fields which support ordering (e.g. date fields and version fields), and cannot be used with text fields. To see a field's supported operators, check the individual field reference.
Examples
Find all issues with 4 or fewer votes:
votes <= 4
Find all issues that have not been updated in the past month (30 days):
updated <= "-4w 2d"
^top of page
IN
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.
Using "IN
" is equivalent to using multipleEQUALS(=)
statements, but is shorter and more convenient. That is, typingreporter IN (tom, jane, harry)
is the same as typingreporter = "tom"ORreporter = "jane"ORreporter = "harry"
.
Examples
Find all issues that were created by either jsmith or jbrown or jjones:
reporter in (jsmith,jbrown,jjones)
Find all issues that were created by John Smith, Jim Brown, or Jared Jones whose Atlassian account IDs are abcde-12345-fedcba or fedcb-12345-edcba or cdefb-67895-cbaed, respectively:
reporter in (abcde-12345-fedcba,fedcb-12345-edcba,cdefb-67895-cbaed)
(Video) Advanced Search With JQL - Keywords And Operators - Learn Atlassian Jira #28-1Find all issues where the Reporter or Assignee is either Jack or Jill:
reporter in (Jack,Jill) or assignee in (Jack,Jill)
Find all issues where the Reporter or Assignee is either Jack or Jill whose Atlassian account IDs areabcde-12345-fedcba andcdefb-67895-cbaed, respectively:
reporter in (abcde-12345-fedcba,cdefb-67895-cbaed) or assignee in (abcde-12345-fedcba,cdefb-67895-cbaed)
Find all issues in version 3.14 or version 4.2:
affectedVersion in ("3.14", "4.2")
^top of page
NOT IN
The "NOT IN
" operator is used to search for issues where the value of the specified field is not one of multiple specified values.
Using "NOT IN
" is equivalent to using multipleNOT_EQUALS(!=)
statements, but is shorter and more convenient. That is, typingreporter NOT IN (tom, jane, harry)
is the same as typingreporter != "tom"ANDreporter != "jane"ANDreporter != "harry"
.
The "NOT IN
" operator will not match a field that has no value (i.e. a field that is empty). For example,assignee not in (jack,jill)
will only match issues that have an assigneeandthe assignee is not "jack" or "jill". To find issues that are assigned to someone other than "jack" or "jill"or are unassigned, you would need to type:assignee not in (jack,jill) or assignee is empty
.
Examples
Find all issues where the Assignee is someone other than Jack, Jill, or John:
assignee not in (Jack,Jill,John)
Find all issues where the Assignee is someone other than Jack, Jill, or John whose Atlassian account IDs areabcde-12345-fedcba or fedcb-12345-edcba or cdefb-67895-cbaed, respectively:
assignee not in (abcde-12345-fedcba,fedcb-12345-edcba,cdefb-67895-cbaed)
Find all issues where the Assignee is not Jack, Jill, or John:
assignee not in (Jack,Jill,John) or assignee is empty
Find all issues where the Assignee is not Jack, Jill, or John whose Atlassian account IDs areabcde-12345-fedcba or fedcb-12345-edcba or cdefb-67895-cbaed, respectively:
assignee not in (abcde-12345-fedcba,fedcb-12345-edcba,cdefb-67895-cbaed) or assignee is empty
Find all issues where the FixVersion is not 'A', 'B', 'C', or 'D':
FixVersion not in (A, B, C, D)
Find all issues where the FixVersion is not 'A', 'B', 'C', or 'D', or has not been specified:
FixVersion not in (A, B, C, D) or FixVersion is empty
^top of page
CONTAINS: ~
The "~
" operator is used to search for issues where the value of the specified field matches the specified value (either an exact match or a "fuzzy" match — see examples below). For use with text fields only, i.e.:
- Summary
- Description
- Environment
- Comments
- customfields that use the "Free Text Searcher"; this includes custom fields of the following built-inCustom Field Types
- Free Text Field (unlimited text)
- Text Field (< 255 characters)
- Read-only Text Field
The JQL field "text" as intext ~ "some words"
searches an issue's Summary, Description, Environment, Comments. It also searches all text custom fields. If you have many text custom fields you can improve performance of your queries by searching on specific fields, e.g.Summary ~ "some words" OR Description ~ "some words"
Note: when using the "~
" operator, the value on the right-hand side of the operator can be specified usingJira text-search syntax.
Examples
Find all issues where the Summary contains the word "win" (or simple derivatives of that word, such as "wins"):
summary ~ win
Find all issues where the Summary contains awild-cardmatch for the word "win":
summary ~ "win*"
Find all issues where the Summary contains the word "issue" and the word "collector":
summary ~ "issue collector"
Find all issues where the Summary contains the exact phrase "full screen" (seeSearch syntax for text fieldsfor details on how to escape quote-marks and other special characters):
summary ~ "\"full screen\""
^top of page
DOES NOT CONTAIN: !~
The "!~
" operator is used to search for issues where the value of the specified field is not a "fuzzy" match for the specified value. For use with text fields only, i.e.:
- Summary
- Description
- Environment
- Comment*
- customfields that use the "Free Text Searcher"; this includes custom fields of the following built-inCustom Field Types
- Free Text Field (unlimited text)
- Text Field (< 255 characters)
- Read-only Text Field
*If the issue containsmore than 1comment, this operator will fail, becauseallcomments will be included in the search.
The JQL field "text" as intext ~ "some words"
searches an issue's Summary, Description, Environment, Comments. It also searches all text custom fields. If you have many text custom fields you can improve performance of your queries by searching on specific fields, e.g.Summary ~ "some words" OR Description ~ "some words"
Note: when using the "!~
" operator, the value on the right-hand side of the operator can be specified usingJira text-search syntax.
Examples
Find all issues where the Summary does not contain the word "run" (or derivatives of that word, such as "running" or "ran"):
summary !~ run
^top of page
IS
The "IS
" operator can only be used withEMPTYorNULL. That is, it is used to search for issues where the specified field has no value.
Note that not all fields are compatible with this operator; see the individual field reference for details.
Examples
Find all issues that have no Fix Version:
fixVersion is empty
or
fixVersion is null
^top of page
IS NOT
The "IS NOT
" operator can only be used withEMPTYorNULL. That is, it is used to search for issues where the specified field has a value.
Note that not all fields are compatible with this operator; see the individual field reference for details.
Examples
Find all issues that have one or more votes:
votes is not empty
or
votes is not null
^top of page
WAS
The "WAS
" operator is used to find issues that currently have or previously had the specified value for the specified field.
This operator has the following optional predicates:
AFTER "date"
BEFORE "date"
BY "username"
orBY (username1,username2)
DURING ("date1","date2")
ON "date"
This operator will match the value name (e.g. "Resolved"), which was configured in your systemat the time that the field was changed. This operator will also match the value ID associated with that value name too — that is, it will match "4" as well as "Resolved".
(Note: This operator can be used with theAssignee,Fix Version,Priority, Reporter,Resolution, andStatusfields only.)
Examples
Find issues that currently have or previously had a status of 'In Progress':
status WAS "In Progress"
Find issues that were resolved by Joe Smith before 2nd February:
status WAS "Resolved" BY jsmith BEFORE "2019/02/02"
Find issues that were resolved by Joe Smith, whose Atlassian account ID is abcde-12345-fedcba, before 2nd February:
status WAS "Resolved" BY abcde-12345-fedcba BEFORE "2019/02/02"
Find issues that were resolved by Joe Smith during 2010:
status WAS "Resolved" BY jsmith DURING ("2010/01/01","2011/01/01")
Find issues that were resolved by Joe Smith, whose Atlassian account ID is abcde-12345-fedcba,during 2010:
status WAS "Resolved" BY abcde-12345-fedcba DURING ("2010/01/01","2011/01/01")
Find issues that were resolved by Joe Smith or Sam Rogen during 2019:
status WAS "Resolved" BY (jsmith,srogen) DURING ("2019/01/01","2020/01/01")
^top of page
WAS IN
The "WAS IN
" operator is used to find issues that currently have or previously had any of multiple specified values for the specified field. The values are specified as a comma-delimited list, surrounded by parentheses.
Using "WAS IN
" is equivalent to using multipleWAS
statements, but is shorter and more convenient. That is, typingstatus WAS IN ('Resolved', 'Closed')
is the same as typingstatus WAS "Resolved"ORstatus WAS "Closed"
.
This operator has the following optional predicates:
AFTER "date"
BEFORE "date"
BY "username"
DURING ("date1","date2")
ON "date"
This operator will match the value name (e.g. "Resolved"), which was configured in your systemat the time that the field was changed. This operator will also match the value ID associated with that value name too — that is, it will match "4" as well as "Resolved".
(Note: This operator can be used with theAssignee,Fix Version,Priority, Reporter,Resolution, andStatusfields only.)
Examples
Find all issues that currently have, or previously had, a status of 'Resolved' or 'In Progress':
status WAS IN ("Resolved","In Progress")
^top of page
WAS NOT IN
The "WAS NOT IN
" operator is used to search for issues where the value of the specified field has never been one of multiple specified values.
Using "WAS NOT IN
" is equivalent to using multipleWAS_NOT
statements, but is shorter and more convenient. That is, typingstatus WAS NOT IN ("Resolved","In Progress")
is the same as typingstatus WAS NOT "Resolved"ANDstatus WAS NOT "In Progress"
.
This operator has the following optional predicates:
AFTER "date"
BEFORE "date"
BY "username"
DURING ("date1","date2")
ON "date"
This operator will match the value name (e.g. "Resolved"), which was configured in your systemat the time that the field was changed. This operator will also match the value ID associated with that value name, too — that is, it will match "4" as well as "Resolved".
(Note: This operator can be used with theAssignee,Fix Version,Priority,Reporter,Resolution, andStatusfields only.)
Examples
Find issues that have never had a status of 'Resolved' or 'In Progress':
status WAS NOT IN ("Resolved","In Progress")
Find issues that did not have a status of 'Resolved' or 'In Progress' before 2nd February:
status WAS NOT IN ("Resolved","In Progress") BEFORE "2011/02/02"
^top of page
WAS NOT
The "WAS NOT
" operator is used to find issues that have never had the specified value for the specified field.
This operator has the following optional predicates:
AFTER "date"
BEFORE "date"
BY "username"
DURING ("date1","date2")
ON "date"
This operator will match the value name (e.g. "Resolved"), which was configured in your systemat the time that the field was changed. This operator will also match the value ID associated with that value name too — that is, it will match "4" as well as "Resolved".
(Note: This operator can be used with theAssignee,Fix Version,Priority, Reporter,Resolution, andStatusfields only.)
Examples
Find issues that do not have, and have never had a status of 'In Progress':
status WAS NOT "In Progress"
Find issues that did not have a status of 'In Progress' before 2nd February:
status WAS NOT "In Progress" BEFORE "2011/02/02"
^top of page
CHANGED
The "CHANGED
" operator is used to find issues that have a value that had changed for the specified field.
This operator has the following optional predicates:
AFTER "date"
BEFORE "date"
BY "username"
DURING ("date1","date2")
ON "date"
FROM "oldvalue"
TO "newvalue"
(Note: This operator can be used with theAssignee,Fix Version,Priority,Reporter,Resolution, andStatusfields only.)
Examples
Find issues whose assignee had changed:
assignee CHANGED
Find issues whose status had changed from 'In Progress' back to 'Open':
status CHANGED FROM "In Progress" TO "Open"
Find issues whose priority was changed by user 'freddo' after the start and before the end of the current week.
priority CHANGED BY freddo BEFORE endOfWeek() AFTER startOfWeek()
^top of page