• Products
  • Documentation
  • Resources

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 operators

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

Supported functions

None

Examples

  • Find issues where the environment contains both the exact phrase "Third floor" and the exact phrase “Fire escape”:
    environment ~ "\"Third floor\"" AND environment ~ "\"Fire escape\""

  • Find issues where the environment contains both the exact phrase "Third floor" and the exact phrase “Fire escape”:
    environment ~ "\"Third floor\"" AND environment ~ "\"Fire escape\""

As of February 2024, Epic link function has been retired in favor of Parent. Existing filters that use the Epic link function still function, but you’ll need to use Parent when creating new filters.

Jump down to the Parent section of this page.

Filter

You can use a saved filter to narrow your search. You can search by filter name or filter ID (i.e. the number that Jira automatically allocates to a saved filter).

Note:

  • It is safer to search by filter ID than by filter name. It is possible for a filter name to be changed, which could break a saved filter that invokes another filter by name. Filter IDs, however, are unique and cannot be changed.

  • An unnamed link statement in your typed query will override an ORDER BY statement in the saved filter.

  • You can’t run or save a filter that would cause an infinite loop (i.e. you can’t reference a saved filter if it eventually references your current filter).

Syntax

1 filter

Aliases

1 request , savedFilter , searchRequest

Field Type

Filter

Auto-complete

Yes

Supported operators

= , !=
IN , NOT IN

Unsupported operators

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

Supported functions

None

Examples

  • Search the results of the filter "My Saved Filter" (which has an ID of 12000) for issues assigned to the user jsmith:
    filter = "My Saved Filter" and assignee = jsmith
    or
    filter = 12000 and assignee = jsmith

Fix version

Search for issues that are assigned to a particular fix version. You can search by version name or version ID (i.e. the number that Jira automatically allocates to a version).

It’s safer to search by version ID than by version name. Different projects may have versions with the same name, so searching by version name may return issues from multiple 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. Version IDs, however, are unique and cannot be changed.

Syntax

1 fixVersion

Field Type

VERSION

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 = 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 a Fix Version of 3.14 or 4.2:
    fixVersion in ("3.14", "4.2")
    (Note that full-stops are reserved characters, so they need to be surrounded by quote-marks.)

  • Find issues with a Fix Version of "Little Ted":
    fixVersion = "Little Ted"

  • Find issues with a Fix Version ID of 10001:
    fixVersion = 10001

Hierarchy level

Filter issues according to their hierarchy level using a JQL filter. This field uses numbers that correlate to hierarchy levels. Use:

  • 1 to filter by parent level task, such as epics. This level is defined by your Jira administrator.

  • 0 to filter by standard level issues, such as stories or tasks

  • -1 to filter by subtasks

Currently, this field doesn’t support custom hierarchy levels made in Advanced Roadmaps.

Syntax

1 hierarchyLevel

Field Type

Number

Auto-complete

Yes

Supported operators

1 = , != , > , >= , < , <= , IN , NOT IN

Unsupported operators

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

Supported functions

  • None

Examples

  • Find issues at the story level: hierarchyLevel = "0"

  • Find issues higher than the subtask level: hierarchyLevel > -1

Issue key

Search for issues with a particular issue key or issue ID (i.e. the number that Jira automatically allocates to an issue).

Syntax

1 issueKey

Aliases

1 id , issue , key

Field Type

ISSUE

Auto-complete

No

Supported operators

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

Unsupported operators

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

Supported functions

When used with the IN or NOT IN operators, issueKey supports:

  • issueHistory()

  • linkedIssues()

  • votedIssues()

  • watchedIssues()

Examples

  • Find the issue with key "ABC-123":
    issueKey = ABC-123

Searches for issues linked or not linked to an issue. You can restrict the search to links of a particular type.

Syntax

issueLink, issueLink["link type"], or issueLinkType, where link type or LinkType is a variable you replace with the issue link type (blocks, duplicates, or is blocked by, for example).

Auto-complete

Yes

Supported operators

= , !=

IN , NOT IN

Unsupported operators

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

WAS , WAS IN , WAS NOT , WAS NOT IN , CHANGED , IS , IS NOT

Supported functions

None

Examples

Find issues:

  • with a link of any type to the issue ABC-123: issueLink = ABC-123

  • with linked issues but not linked to a specific issue: issueLink != ABC-123

  • linked to at least one of a list of issues: issueLink in (ABC-123, ABC-456)

  • with linked issues but not linked to any of the issues you specify: issueLink not in (ABC-123, ABC-456)

  • that block the issue ABC-123 (link type is "blocks"): issueBlocks = ABC-123 or issueLink["blocks"] = ABC-123

  • that are blocked by the issue ABC-123 (link type is "is blocked by"): issueIsBlockedBy = ABC-123 or issueLink["is blocked by"] = ABC-123

Search for issues that have a particular link type, like blocks or is duplicated by. You can only find issues from the Jira instance you're searching on; remote links to issues on other Jira instances won’t be included.

Use this JQL query to add colors to your issue cards! For example, add a red stripe to issues that have some blockers, and keep all other issues green. This will help you bring the right information to your team’s attention, at a glance. For more info, see Customizing cards.

Syntax

1 issueLinkType

Auto-complete

Yes

Supported operators

= , !=
IN , NOT IN

Unsupported operators

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

WAS , WAS IN , WAS NOT , WAS NOT IN , CHANGED , IS , IS NOT

Supported functions

None

Examples

Find issues:

  • with a link type of "causes": issueLinkType = causes

  • with a link type of "duplicates" or "clones": issueLinkType in (duplicates,clones)

  • with link types other than “clones”: issueLinkType != clones

  • that are blocked by other issues, or that don't have any blockers:

    • issueLinkType = "is blocked by"

    • issueLinkType != "is blocked by"

Jira issue link types have the following properties:

  • Name: The title for the link type

  • Outward description: The description of how an issue affects other issues

  • Inward description: The description of how an issue is affected by other issues

For example, a link type could have the following properties:

  • Name: Problem/Incident

  • Outward description: causes

  • Inward description: is caused by

When searching issueLinkType, Jira searches all three properties. This can mean you're unable to isolate issues with a specific inward or outward description if the link type's name and either of the descriptions are the same. This is the case for the default "Blocks" link type, where the name and outward description are "blocks".

If you need to be able to search specifically for issues with an outward description of "blocks", for example, a Jira administrator must change the name of the link type to something else. If you're a Jira admin, take a look at Configuring issue linking for more info.

Labels

Search for issues tagged with a label or list of labels. You can also search for issues without any labels to easily identify which issues need to be tagged so they show up in the relevant sprints, queues or reports. 

Syntax

1 labels

Field Type

LABEL

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 with an existing label:
    labels = "x"

  • Find issues without a specified label, including issues without a label:
    labels not in ("x") or labels is EMPTY

Last viewed

Search for issues that were last viewed 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