JQL fields

JQL lets you search for a value in a specific field. Each field in Jira has a corresponding JQL name. If you’ve made a custom field, you’ll be asked to name the field.

In a clause, a field is followed by an operator, which in turn is followed by one or more values (or functions). The operator compares the value of the field with one or more values or functions on the right, such that only true results are retrieved by the clause. It's not possible to compare two fields in JQL.

Affected version

Search for issues that are assigned to a particular affects version(s). You can search by version name or version ID (i.e. the number that Jira automatically allocates to a version). Note, it is better to search by version ID than by version name. Different projects may have versions with the same name. 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. Version IDs, however, are unique and cannot be changed.

Syntax

1 affectedVersion

Field Type

VERSION

Auto-complete

Yes

Supported operators

= , != , > , >= , < , <=
IS, IS NOT, IN, NOT IN Note that the comparison operators (e.g. ">") use the version order that has been set up by your project administrator, not a numeric or alphabetic order.

Unsupported operators

~ , !~
WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED

Supported functions

When used with the = and != operators, this field supports:

  • latestReleasedVersion()

  • earliestUnreleasedVersion()

When used with the IN and NOT IN operators, this field supports:

  • releasedVersions()

  • unreleasedVersions()

Examples

  • Find issues with an AffectedVersion of 3.14:
    affectedVersion = "3.14"
    Note that full-stops are reserved characters and need to be surrounded by quote-marks.

  • Find issues with an AffectedVersion of "Big Ted":
    affectedVersion = "Big Ted"

  • Find issues with an AffectedVersion ID of 10350:
    affectedVersion = 10350

Approvals

Used in business projectsJira Service Management only.

Search for requests that have been approved or require approval. This can be further refined by user.

Syntax

1 approvals

Field Type

USER

Auto-complete

No

Supported operators

=

Unsupported operators

~ , != , !~ , > , >= , < , <=
IS , IS NOT , IN , NOT IN , WAS, WAS IN, WAS NOT, WAS NOT IN , CHANGED

Supported functions

  • approved()

  • approver()

  • myApproval()

  • myPending()

  • myPendingApproval()

  • pending()

  • pendingBy()

Examples

  • Find requests that require or required approval by John Smith:
    approval = approver(jsmith)

  • Find requests that require approval by John Smith:
    approval = pendingBy(jsmith)

  • Find requests that require or have required approval by the current user:
    approval = myPending()

  • Find all requests that require approval:
    approval = pending()

Assignee

Search for issues that are assigned to a particular user. You can search by the user's full name, ID, or email address.

Syntax

1 assignee

Field Type

USER

Auto-complete

Yes

Supported operators

= , !=
IS, IS NOT, IN, NOT IN, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED

Note that the comparison operators (e.g. ">") use the version order that has been set up by your project administrator, not a numeric or alphabetic order.

Unsupported operators

~ , !~ , > , >= , < , <=

Supported functions

When used with the IN and NOT IN operators, this field supports:

  • membersOf()

When used with the EQUALS and NOT EQUALS operators, this field supports:

  • currentUser()

Examples

  • Find issues that are assigned to John Smith:
    assignee = "John Smith"or
    assignee = jsmith

  • Find issues that are currently assigned, or were previously assigned, to John Smith:
    assignee WAS jsmith

  • Find issues that are assigned by the user with email address bob@mycompany.com:

    • assignee = "bob@mycompany.com"

      Note that full-stops and "@" symbols are reserved characters and need to be surrounded by quote-marks.

Attachments

Search for issues that have or do not have attachments. 

Syntax

1 attachments

Field Type

ATTACHMENT

Auto-complete

Yes

Supported operators

IS, IS NOT

Unsupported operators

=, != , ~ , !~ , > , >= , < , <= IN, NOT IN, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED

Supported functions

None

Examples

  • Search for issues that have attachments:
    attachments IS NOT EMPTY  

  • Search for issues that do not have attachments:
    attachments IS EMPTY 

Category

Search for issues that belong to projects in a particular category.

Syntax

1 category

Field Type

CATEGORY

Auto-complete

Yes

Supported operators

=, !=
IS, IS NOT, IN, NOT IN

Unsupported operators

~ , !~ , > , >= , < , <= WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED

Supported functions

None

Examples

  • Find issues that belong to projects in the "Alphabet Projects" Category:
    category = "Alphabet Projects"

Change gating type

Used in business projects only.

Search for types of change gating that are used in change requests. "Tracked-only" requests are produced by integrations that stand separately from a change management process. These tools don't respect approval or change gating strategies. Change requests that are "tracked-only" are just for record-keeping purposes.

Syntax

1 change-gating-type

Field Type

TEXT

Auto-complete

Yes

Supported operators

= , !=

IS, IS NOT, IN, NOT IN

Unsupported operators 

~ , !~ , > , >= , < , <= WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED

Supported functions

None

Examples

  • Find requests where the gating type is empty:
    change-gating-type is EMPTY

  • Find requests where the gating type is tracked-only:
    change-gating-type = "tracked-only"

Comment

Search for issues that have a comment that contains particular text using Jira text-search syntax. More about searching syntax for text fields.

Syntax

1 comment

Field Type

TEXT

Auto-complete

No

Supported operators

~ , !~

Unsupported operators

= , != , > , >= , < , <=
IS, IS NOT, IN, NOT IN, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED

Supported functions

None

Examples

  • Find issues where a comment contains the words "My PC is quite old" (a “term search” match):
    comment ~ "My PC is quite old"

  • Find issues where a comment contains the exact phrase "My PC is quite old":
    comment ~ "\"My PC is quite old\""

  • Find issues where a comment contains both the exact phrase "My PC is quite old" and the exact phrase “My Mac is quite new”:
    comment ~ "\"My PC is quite old\"" AND comment ~ "\"My Mac is quite new\""

Component

Search for issues that belong to a particular component(s) of a project. You can search by component name or component ID (i.e. the number that Jira automatically allocates to a component).

Note, it is safer to search by component ID than by component name. Different projects may have components with the same name, so searching by component name may return issues from multiple projects. It is also possible for your Jira administrator to change the name of a component, which could break any saved filters that rely on that name. Component IDs, however, are unique and cannot be changed.

Syntax

1 component

Field Type

COMPONENT

Auto-complete

Yes

Supported operators

= , !=
IS , IS NOT , IN , NOT IN

Unsupported operators

~ , !~ , > , >= , < , <= WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED

Supported functions

When used with the IN and NOT IN operators, component supports:

  • componentsLeadByUser()

Examples

  • Find issues in the "Comp1" or "Comp2" component:
    component in (Comp1, Comp2)

  • Find issues in the "Comp1" and"Comp2" components:
    component in (Comp1) and component in (Comp2)
    or
    component = Comp1 and component = Comp2 

  • Find issues in the component with ID 20500:
    component = 20500 

Created

Search for issues that were created on, before, or after a particular date (or date range). Note that if a time-component is not specified, midnight will be assumed. Please note that the search results will be relative to your configured time zone (which is by default the Jira server's time zone).

Use one of the following formats:

"yyyy/MM/dd HH:mm"
"yyyy-MM-dd HH:mm"
"yyyy/MM/dd"
"yyyy-MM-dd"

Or use "w" (weeks), "d" (days), "h" (hours) or "m" (minutes) to specify a date relative to the current time. The default is "m" (minutes). Be sure to use quote-marks ("); if you omit the quote-marks, the number you supply will be interpreted as milliseconds after epoch (1970-1-1).

Syntax

1 created

Alias

1 createdDate

Field Type

DATE

Auto-complete

No

Supported operators

= , != , > , >= , < , <= IS , IS NOT , IN , NOT IN

Unsupported operators

~ , !~ WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED

Supported functions

When used with the EQUALS, NOT EQUALS, GREATER THAN, GREATER THAN EQUALS, LESS THAN or LESS THAN EQUALS operators, this field supports:

  • currentLogin()

  • lastLogin()

  • now()

  • startOfDay()

  • startOfWeek()

  • startOfMonth()

  • startOfYear()

  • endOfDay()

  • endOfWeek()

  • endOfMonth()

  • endOfYear()

Examples

  • Find all issues created before 12th December 2010:
    created < "2010/12/12"

  • Find all issues created on or before 12th December 2010:
    created <= "2010/12/13"

  • Find all issues created on 12th December 2010 before 2:00pm:
    created > "2010/12/12" and created < "2010/12/12 14:00" 

  • Find issues created less than one day ago:
    created > "-1d"

  • Find issues created in January 2011:
    created > "2011/01/01" and created < "2011/02/01"

  • Find issues created on 15 January 2011:created > "2011/01/15" and created < "2011/01/16"

Creator

Search for issues that were created by a particular user. You can search by the user's full name, ID, or email address. Note that an issue's creator does not change, so you cannot search for past creators (e.g. WAS). See Reporter for more options. 

Syntax

1 creator

Field Type

USER

Auto-complete

Yes

Supported operators

= , !=
IS , IS NOT , IN , NOT IN

Unsupported operators

~ , !~ , > , >= , < , <= CHANGED, WAS, WAS IN, WAS NOT, WAS NOT IN

Supported functions

When used with the IN and NOT IN operators, this field supports:

  • membersOf()

When used with the EQUALS and NOT EQUALS operators, this field supports:

  • currentUser()

Examples

  • Search for issues that were created by Jill Jones:
    creator = "Jill Jones"
    or
    creator = "jjones"

  • Search for issues that were created by the user with email address :
    creator = "bob@mycompany.com"
    (Note that full-stops and "@" symbols are reserved characters, so the email address needs to be surrounded by quote-marks.) 

Custom field

Only applicable if your Jira administrator has created one or more custom fields.

Search for issues where a particular custom field has a particular value. You can search by custom field name or custom field ID (i.e. the number that Jira automatically allocates to a custom field).

Note, it is safer to search by custom field ID than by custom field name. It is possible for a custom field to have the same name as a built-in Jira system field; in which case, Jira will search for the system field (not your custom field). It is also possible for your Jira administrator to change the name of a custom field, which could break any saved filters that rely on that name. Custom field IDs, however, are unique and cannot be changed.

For multiple choice and dropdown custom fields, you can search by both option value and option ID. However, for performance reasons, when using closedSprints(), futureSprints(), and openSprints(), you can only search by option value. For example, if closedSprints() were to return 16, the following query:

1 "customField1[Dropdown]" in (12, closedSprints())

would search for option values 12 and 16 and ID 12.

Syntax

1 CustomFieldName

Alias

1 cf[CustomFieldID]

Field Type

Depends on the custom field's configuration

Jira text-search syntax can be used with custom fields of type 'Text'.

Auto-complete

Yes, for custom fields of type picker, group picker, select, checkbox and radio button fields

Supported operators

Different types of custom field support different operators.

Supported operators:
number and date fields 

= , != , > , >= , < , <=
IS , IS NOT , IN , NOT IN

Unsupported operators:
number and date fields

~ , !~ WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED

Supported operators:
picker, select, checkbox
and radio button fields

= , !=
IS , IS NOT , IN , NOT IN

Unsupported operators:
picker, select, checkbox
and radio button fields

~ , !~ , > , >= , < , <= WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED

Supported operators:
text fields 

~ , !~
IS , IS NOT

Unsupported operators:
text fields 

= , != , > , >= , < , <= IN , NOT IN , WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED

Supported operators:
URL fields 

= , !=
IS , IS NOT , IN , NOT IN

Unsupported operators:
URL fields

~ , !~ , > , >= , < , <= WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED

Supported functions

Different types of custom fields support different functions.

Supported functions:
date/time fields 

When used with the EQUALSNOT EQUALSGREATER THANGREATER THAN EQUALS
LESS THAN or LESS THAN EQUALS operators, this field supports:

  • currentLogin()

  • lastLogin()

  • now()

  • startOfDay()

  • startOfWeek()

  • startOfMonth()

  • startOfYear()

  • endOfDay()

  • endOfWeek()

  • endOfMonth()

  • endOfYear()

Supported functions:
version picker fields 

 Version picker fields: When used with the IN and NOT IN operators, this field supports:

  • releasedVersions()

  • latestReleasedVersion()

  • unreleasedVersions()

  • earliestUnreleasedVersion()

Examples

  • Find issues where the value of the "Location" custom field is "New York":
    location = "New York"

  • Find issues where the value of the custom field with ID 10003 is "New York":
    cf[10003] = "New York"

  • Find issues where the value of the "Location" custom field is "London" or "Milan" or "Paris":
    cf[10003] in ("London", "Milan", "Paris")

  • Find issues where the "Location" custom field has no value:
    location != empty

Description

Search for issues where the description contains particular text using Jira text-search syntax. More about searching syntax for text fields.

Syntax

1 description

Field Type

TEXT

Auto-complete

No

Supported operators

~ , !~
IS , IS NOT

Unsupported operators

= , != , > , >= , < , <= IN , NOT IN, WAS, WAS IN, WAS NOT, WAS NOT IN , CHANGED

Supported functions

None

Examples

  • Find issues where the description contains the words "Please see screenshot" (a "term search" match):
    description ~ "Please see screenshot"

  • Find issues where the description contains the exact phrase "Please see screenshot":
    description ~ "\"Please see screenshot\""

  • Find issues where the description contains both the exact phrase "Please see screenshot" and the exact phrase “What is needed”:
    description ~ "\"Please see screenshot\"" AND description ~ "\"What is needed\""

Due

Search for issues that were due on, before, or after a particular date (or date range). Note that the due date relates to the date only (not to the time).

Use one of the following formats:

"yyyy/MM/dd"
"yyyy-MM-dd"

Or use "w" (weeks) or "d" (days) to specify a date relative to the current date. Be sure to use quote-marks (").

Syntax

1 due

Alias

1 dueDate

Field Type

DATE

Auto-complete

No

Supported operators

= , != , > , >= , < , <=
IS , IS NOT , IN , NOT IN

Unsupported operators

~ , !~ WAS, WAS IN, WAS NOT, WAS NOT IN , CHANGED

Supported functions

When used with the EQUALS, NOT EQUALS, GREATER THAN, GREATER THAN EQUALS
LESS THAN or LESS THAN EQUALS operators, this field supports:

  • currentLogin()

  • lastLogin()

  • now()

  • startOfDay()

  • startOfWeek()

  • startOfMonth()

  • startOfYear()

  • endOfDay()

  • endOfWeek()

  • endOfMonth()

  • endOfYear()

Examples

  • Find all issues due before 31st December 2010:
    due < "2010/12/31"

  • Find all issues due on or before 31st December 2010:
    due <= "2011/01/01"

  • Find all issues due tomorrow:
    due = "1d"

  • Find all issues due in January 2011:
    due >= "2011/01/01" and due <= "2011/01/31"

  • Find all issues due on 15 January 2011:
    due = "2011/01/15"

Environment

Search for issues where the environment contains particular text using Jira text-search syntax. More about searching syntax for text fields.

Syntax

1 environment

Field Type

TEXT

Auto-complete

No

Supported operators

~ , !~
IS , IS NOT

Unsupported ope