Documentation for JIRA 4.0. Documentation for other versions of JIRA is available too.

On this page:

What is an Advanced Search?

An advanced search allows you to use structured queries to search for JIRA issues. Your search results will be displayed in the Issue Navigator, where you can export them to MS Excel and many other formats. You can also save and subscribe to your advanced searches if you wish.

A query consists of a field, followed by an operator, followed by a value or function. For example, the following query will find all issues in the "TEST" project:

project = "TEST"

(This example uses the Project field, the EQUALS operator, and the value "TEST".)

Note that it is not possible to compare two fields.

When you perform an advanced search, you are using the JIRA Query Language (JQL). JQL gives you some SQL-like statements, such as Advanced Searching and NULL. It is not, however, a database query language; for example, JQL does not have a SELECT statement.

How to Perform an Advanced Search

  1. On the top navigation bar, click the "Issues" tab. This will display the Search panel.
  2. Click "advanced". This will display the "Query" box:
  3. Type your query using the fields, operators and field values or functions listed below.
  4. Click the "Search" button to run your query.


Keywords Reference

AND

Used to combine multiple statements, allowing you to refine your search.

Note that you can use parentheses to control the order in which statements are executed.

Examples
  • Find all open issues in the "New office" project:
    project = "New office" and status = "open"
  • Find all open, urgent issues that are assigned to jsmith:
    status = open and priority = urgent and assignee = jsmith
  • Find all issues in a particular project that are not assigned to jsmith:
    project = JRA and assignee != jsmith
  • Find all issues for a specific release which consists of different version numbers across several projects:
    project in (JRA,CONF) and fixVersion = "3.14"
  • Find all issues where neither the Reporter nor the Assignee is Jack, Jill or John:
    reporter not in (Jack,Jill,John) and assignee not in (Jack,Jill,John)

OR

Used to combine multiple statements, allowing you to expand your search.

Note that you can use parentheses to control the order in which statements are executed.

(Note: also see IN, which can be a more convenient way to search for multiple values of a field.)

Examples
  • Find all issues that were created by either jsmith or jbrown:
    reporter = jsmith or reporter = jbrown
  • Find all issues that are overdue or where no due date is set:
    duedate < now() or duedate is empty

NOT

Used to negate individual operators or entire statements of a query, allowing you to refine your search.

Note that you can use parentheses to control the order in which statements are executed.

(Note: also see NOT_EQUALS ("!="), DOES_NOT_CONTAIN ("!~"), NOT_IN and IS_NOT.)

Examples
  • Find all issues that are assigned to any user except jsmith:
    not assignee = jsmith
  • Find all issues that were not created by either jsmith or jbrown:
    not (reporter = jsmith or reporter = jbrown)

EMPTY

Used to search for issues where a given field does not have a value. See also NULL.

Note that EMPTY can only be used with fields that support the IS and IS_NOT operators. To see a field's supported operators, check the individual field reference.

Examples
  • Find all issues without a DueDate:
    duedate = empty
    or
    duedate is empty

NULL

Used to search for issues where a given field does not have a value. See also EMPTY.

Note that NULL can only be used with fields that support the IS and IS_NOT operators. To see a field's supported operators, check the individual field reference.

Examples
  • Find all issues without a DueDate:
    duedate = null
    or
    duedate is null

ORDER BY

Used to specify the fields by whose values the search results will be sorted.

By default, the field's own sorting order will be used. You can override this by specifying ascending order ("asc") or descending order ("desc").

Examples
  • Find all issues without a DueDate, sorted by CreationDate:
    duedate = empty order by created 
  • Find all issues without a DueDate, sorted by CreationDate, then by Priority (highest to lowest):
    duedate = empty order by created, priority desc
  • Find all issues without a DueDate, sorted by CreationDate, then by Priority (lowest to highest):
    duedate = empty order by created, priority asc


Operators Reference


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 the CONTAINS operator instead.)

Examples
  • Find all issues that were created by jsmith:
    reporter = jsmith
  • Find all issues that were created by John Smith:
    reporter = "John Smith"

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 the DOES_NOT_MATCH ("!~") operator instead.)

Note that typing field != value is the same as typing NOT field = value, and that field != EMPTY is the same as field IS_NOT EMPTY.

Examples
  • Find all issues that are assigned to any user except jsmith:
    not assignee = jsmith
    or:
    assignee != jsmith
  • Find all issues that were not reported by jsmith:
    reporter !=jsmith
  • 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 that are not unassigned:
    assignee is not empty
    or
    assignee != null


GREATER THAN: >

The ">" operator is used to search for issues where the value of the specified field is greater than the specified value. Cannot be used with text fields.

Note that the ">" operator can only be used with fields which support ordering (e.g. date fields and version 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


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. Cannot be used with text fields.

Note that the ">=" operator can only be used with fields which support ordering (e.g. date fields and version 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"


LESS THAN: <

The "<" operator is used to search for issues where the value of the specified field is less than the specified value. Cannot be used with text fields.

Note that the "<" operator can only be used with fields which support ordering (e.g. date fields and version fields). To see a field's supported operators, check the individual field reference.

Examples
  • Find all issues with less than 4 votes:
    votes < 4


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. Cannot be used with text fields.

Note that the "<=" operator can only be used with fields which support ordering (e.g. date fields and version 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"

IN

The "IN" operator is used to search for issues where the value of the specified field is one of multiple specified values.

Using "IN" is equivalent to using multiple EQUALS (=) statements, but is shorter and more convenient. That is, typing reporter IN (tom, jane, harry) is the same as typing reporter = "tom" OR reporter = "jane" OR reporter = "harry".

Examples
  • Find all issues that were created by either jsmith or jbrown or jjones:
    reporter in (jsmith,jbrown,jjones)
  • Find all issues where the Reporter or Assignee is either Jack or Jill:
    reporter in (Jack,Jill) or assignee in (Jack,Jill)
  • Find all issues in version 3.14 or version 4.2:
    affectedVersion in ("3.14", "4.2")

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 multiple NOT_EQUALS (!=) statements, but is shorter and more convenient. That is, typing reporter NOT IN (tom, jane, harry) is the same as typing reporter != "tom" AND reporter != "jane" AND reporter != "harry".

Examples
  • Find all issues where the Reporter is not Jack, Jill or John:
    reporter not in (Jack,Jill,John)


CONTAINS: ~

The "~" operator is used to search for issues where the value of the specified field contains a "fuzzy" match for the specified value. For use with text fields only, i.e.:

Note: when using the "~" operator, the value on the right-hand side of the operator can be specified using JIRA text-search syntax.

Examples
  • Find all issues where the Summary contains the word "win" (or derivatives of that word, such as "windows" or "winning"):
    summary ~ win

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.:

Note: when using the "!~" operator, the value on the right-hand side of the operator can be specified using JIRA 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

IS

The "IS" operator can only be used with EMPTY or NULL. 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

IS NOT

The "IS NOT" operator can only be used with EMPTY or NULL. 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


Fields Reference


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).

It is 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 which rely on that name. Version IDs, however, are unique and cannot be changed.

Note: this field supports auto-complete.

Syntax
affectedVersion
Field Type

VERSION

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

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.

Supported Functions

When used with the IN and NOT_IN operators, affectedVersion supports:

Examples
  • Find issues with an AffectedVersion of 3.14:
    affectedVersion = "3.14"
    (Note that full-stops are reserved characters, so they 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

Assignee

Search for issues that are assigned to a particular user. You can search by the user's Full Name, ID or Email Address.

Note: this field supports auto-complete.

Syntax
assignee
Field Type

USER

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

Supported Functions

When used with the IN and NOT_IN operators, assignee supports:

When used with the EQUALS and NOT_EQUALS operators, assignee supports:

Examples
  • Search for issues that are assigned to John Smith:
    assignee = "John Smith"
    or
    assignee = jsmith
  • Search for 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, so the email address needs to be surrounded by quote-marks.)

Category

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

Note: this field supports auto-complete.

Syntax
category
Field Type

CATEGORY

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

Supported Functions

n/a

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


Comment

Search for issues that have a Comment which contains particular text.

JIRA text-search syntax can be used.

Note: this field does not support auto-complete.

Syntax
comment
Field Type

TEXT

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(tick)

(tick)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

Supported Functions

n/a

Examples
  • Find issues where a Comment contains text that matches "My PC is quite old":
    comment ~ "My PC is quite old"

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).

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 which rely on that name. Component IDs, however, are unique and cannot be changed.

Note: this field supports auto-complete.

Syntax
component
Field Type

COMPONENT

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

Supported Functions

n/a

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)
  • 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).

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).

Note: this field does not support auto-complete.

Syntax
created

Alias:

createdDate
Field Type

DATE

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

Supported Functions

When used with the EQUALS, NOT_EQUALS, GREATER_THAN, GREATER_THAN_EQUALS, LESS_THAN or LESS_THAN_EQUALS operators, createdDate supports:

Examples
  • Find all issues created on or before 12th December 2008 00:00:
    created <= "2008/12/12"
  • Find issues created less than one day ago:
    created > "-1d"
  • Find issues created in January 2009:
    created > "2008/12/31" and created < "2009/02/01"
  • Find issues created on 15 January 2009:
    created > "2009/01/14" and created < "2009/01/16"

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 an Custom Field).

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 on 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 which rely on that name. Custom Field IDs, however, are unique and cannot be changed.

Note:

  • JIRA text-search syntax can be used with Custom Fields of type 'Text'.
  • auto-complete is supported for Custom Fields of type picker, group picker, select (except 'Cascading Select'), check-box and radio button fields.
Syntax
CustomFieldName

Alias:

cf[CustomFieldID]
Field Type

Depends on the Custom Field's configuration

Supported Operators

Different types of Custom Fields support different operators. For the default Custom Field Types, the following operators are supported:

  • Number and date/time fields:

    =

    !=

    ~

    !~

    >

    >=

    <

    <=

    IS

    IS NOT

    IN

    NOT IN

    (tick)

    (tick)

    (error)

    (error)

    (tick)

    (tick)

    (tick)

    (tick)

    (tick)

    (tick)

    (tick)

    (tick)

  • Picker, select, check-box and radio button fields:

    =

    !=

    ~

    !~

    >

    >=

    <

    <=

    IS

    IS NOT

    IN

    NOT IN

    (tick)

    (tick)

    (error)

    (error)

    (error)

    (error)

    (error)

    (error)

    (tick)

    (tick)

    (tick)

    (tick)

  • Text fields:

    =

    !=

    ~

    !~

    >

    >=

    <

    <=

    IS

    IS NOT

    IN

    NOT IN

    (error)

    (error)

    (tick)

    (tick)

    (error)

    (error)

    (error)

    (error)

    (tick)

    (tick)

    (error)

    (error)

Supported Functions

Different types of Custom Fields support different functions. For the default Custom Field Types, the following functions are supported:

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.

JIRA text-search syntax can be used.

Note: this field does not support auto-complete.

Syntax
description
Field Type

TEXT

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(tick)

(tick)

(error)

(error)

(error)

(error)

(tick)

(tick)

(error)

(error)

Supported Functions

n/a

Examples
  • Find issues where the Description contains text that matches "Please see screenshot for details.":
    description ~ "Please see screenshot for details."



Due

Search for issues that were due on, before or after a particular date (or date range).

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).

Note that Due Date relates to the date only (not to the time).

Note: this field does not support auto-complete.

Syntax
due

Alias:

dueDate
Field Type

DATE

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

Supported Functions

When used with the EQUALS, NOT_EQUALS, GREATER_THAN, GREATER_THAN_EQUALS, LESS_THAN or LESS_THAN_EQUALS operators, dueDate supports:

Examples
  • Find all issues due on or before 31st December 2008:
    due <= "2008/12/31"
  • Find issues that are due tomorrow:
    due = "1d"
  • Find issues that were due in January 2009:
    due > "2008/12/31" and due < "2009/02/01"
  • Find issues that were due on 15 January 2009:
    due > "2009/01/14" and due < "2009/01/16"

Environment

Search for issues where the Environment contains particular text.

JIRA text-search syntax can be used.

Note: this field does not support auto-complete.

Syntax
environment
Field Type

TEXT

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(tick)

(tick)

(error)

(error)

(error)

(error)

(tick)

(tick)

(error)

(error)

Supported Functions

n/a

Examples
  • Find issues where the description contains text that matches "Third floor":
    environment ~ "Third floor"

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).

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.

Note:

  • An Advanced Searching statement in your typed query will override an ORDER BY statement in the saved filter.
  • You cannot run or save a filter that would cause an infinite loop (i.e. you cannot reference a saved filter if it eventually references your current filter).
  • This field supports auto-complete.
    Syntax
    filter
    Aliases:
    request
    savedFilter
    searchRequest
Field Type

FILTER

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

Supported Functions

n/a

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 is 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.

Note: this field supports auto-complete.

Syntax
fixVersion
Field Type

VERSION

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

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.

Supported Functions

When used with the IN and NOT_IN operators, fixVersion supports:

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

Issue Key

Search for issues with a particular Issue Key or Issue ID (i.e. the number that JIRA automatically allocates to an Issue).

Note: this field does not support auto-complete.

Syntax
issueKey

Aliases:

id
issue
key
Field Type

ISSUE

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

Supported Functions

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

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

Level

Only available if Issue Level Security has been enabled by your JIRA administrator.

Search for issues with a particular Security Level. You can search by Issue Security Level name or Issue Security Level ID (i.e. the number that JIRA automatically allocates to an Issue Security Level).

It is safer to search by Security Level ID than by Security Level name

It is possible for your JIRA administrator to change the name of a Security Level, which could break any saved filter which rely on that name. Security Level IDs, however, are unique and cannot be changed.

Note: this field supports auto-complete.

Syntax
level
Field Type

SECURITY LEVEL

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

Supported Functions

n/a

Examples
  • Search for issues with a Security Level of "Really High" or "level1":
    level in ("Really High", level1)
  • Search for issues with a Security Level ID of 123:
    level = 123


Original Estimate

Only available if time-tracking has been enabled by your JIRA administrator.

Search for issues where the Original Estimate is set to a particular value (i.e. a number, not a date or date range).

Use "w", "d", "h" and "m" to specify weeks, days, hours or minutes.

Note: this field does not support auto-complete.

Syntax
originalEstimate

Alias:

timeOriginalEstimate
Field Type

DURATION

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

Supported Functions

n/a

Examples
  • Find issues with an Original Estimate of 1 hour:
    originalEstimate = 1h
  • Find issues with an Original Estimate of more than 2 days:
    originalEstimate > 2d

Parent

Only available if sub-tasks have been enabled by your JIRA administrator.

Search for all sub-tasks of a particular issue. You can search by Issue Key or by Issue ID (i.e. the number that JIRA automatically allocates to an Issue).

Note: this field does not support auto-complete.

Syntax
parent
Field Type

ISSUE

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

Supported Functions

n/a

Examples
  • Find issues that are sub-tasks of issue TEST-1234:
    parent = TEST-1234

Priority

Search for issues with a particular Priority. You can search by Priority name or Priority ID (i.e. the number that JIRA automatically allocates to a Priority).

It is safer to search by Priorty 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 which rely on that name. Priority IDs, however, are unique and cannot be changed.

Note: this field supports auto-complete.

Syntax
priority
Field Type

PRIORITY

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

Supported Functions

n/a

Examples
  • Find issues with a Priority of "High":
     priority = High
  • Find issues with a Priority ID of 10000:
    priority = 10000

Project

Search for issues that belong to a particular Project

You can search by Project Name, by Project Key or by Project ID (i.e. the number that JIRA automatically allocates to a project).

Note: this field supports auto-complete.

Syntax
project
Field Type

PROJECT

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

Supported Functions

n/a

Examples
  • Find issues that belong to the Project that has the name "ABC Project":
     project = "ABC Project" 
  • Find issues that belong to the Project that has the key "ABC":
    project = "ABC"
  • Find issues that belong to the Project that has the ID "1234":
    project = 1234


Remaining Estimate

Only available if time-tracking has been enabled by your JIRA administrator.

Search for issues where the Remaining Estimate is set to a particular value (i.e. a number, not a date or date range).

Use "w", "d", "h" and "m" to specify weeks, days, hours or minutes.

Note: this field does not support auto-complete.

Syntax
remainingEstimate

Alias:

timeEstimate
Field Type

DURATION

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

Supported Functions

n/a

Examples
  • Find issues with a Remaining Estimate of more than 4 hours:
     remainingEstimate > 4h 

Reporter

Search for issues that were reported by (i.e. created by) a particular user.

You can search by the user's Full Name, ID or Email Address.

Note: this field supports auto-complete.

Syntax
reporter
Field Type

USER

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

Supported Functions

When used with the IN and NOT_IN operators, reporter supports:

When used with the EQUALS and NOT_EQUALS operators, reporter supports:

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

Resolution

Search for issues that have a particular Resolution

You can search by Resolution name or Resolution ID (i.e. the number that JIRA automatically allocates to a Resolution).

It is safer to search by Resolution ID than Resolution name

It is possible for your JIRA administrator to change the name of a Resolution, which could break any saved filter which rely on that name. Resolution IDs, however, are unique and cannot be changed.

Note: this field supports auto-complete.

Syntax
resolution
Field Type

RESOLUTION

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

Supported Functions

n/a

Examples
  • Find issues with a Resolution of "Cannot Reproduce" or "Won't Fix":
     resolution in ("Cannot Reproduce", "Won't Fix")
  • Find issues with a Resolution ID of 5:
    resolution = 5
  • Find issues that do not have a Resolution:
    resolution = unresolved



Resolved

Search for issues that were resolved on, before or after a particular date (or date range).

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).

Note: this field does not support auto-complete.

Syntax
resolved

Alias:

resolutionDate
Field Type

DATE

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

Supported Functions

When used with the EQUALS, NOT_EQUALS, GREATER_THAN, GREATER_THAN_EQUALS, LESS_THAN or LESS_THAN_EQUALS operators, resolved supports:

Examples
  • Find all issues that were resolved on or before 31st December 2008 00:00:
    resolved <= "2008/12/31"
  • Find issues that were resolved in January 2009:
    resolved > "2008/12/31" and resolved < "2009/02/01"
  • Find issues that were resolved on 15 January 2009:
    resolved > "2009/01/14" and resolved < "2009/01/16"
  • Find issues that were resolved in the last hour:
    resolved > -1h

Status

Search for issues that have a particular Status.

You can search by Status name or Status ID (i.e. the number that JIRA automatically allocates to a Status).

It is safer to search by Status ID than Status name

It is possible for your JIRA administrator to change the name of a Status which could break any saved filter which rely on that name. Status IDs, however, are unique and cannot be changed.

Note: this field supports auto-complete.

Syntax
status
Field Type

STATUS

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

Supported Functions

n/a

Examples
  • Find issues with a Status of "Open":
     status = Open
  • Find issues with a Status ID of 1:
    status = 1

Summary

Search for issues where the Summary contains particular text.

JIRA text-search syntax can be used.

Note: this field does not support auto-complete.

Syntax
summary
Field Type

TEXT

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(tick)

(tick)

(error)

(error)

(error)

(error)

(tick)

(tick)

(error)

(error)

Supported Functions

n/a

Examples
  • Find issues where the Summary contains text that matches "Error saving file":
    summary ~ "Error saving file"


Text

This is a "master-field" that allows you to search all text fields, i.e.:

Note: The text master-field can only be used with the CONTAINS operator ("~" and "!~").

Syntax
text
Field Type

TEXT

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(tick)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

Supported Functions

n/a

Examples
  • Find issues where a text field matches the word "Fred":
    text ~ "Fred"

Type

Search for issues that have a particular Issue Type.

You can search by Issue Type name or Issue Type ID (i.e. the number that JIRA automatically allocates to an Issue Type).

It is safer to search by Type ID than Type name

It is possible for your JIRA administrator to change the name of a Type, which could break any saved filter which rely on that name. Type IDs, however, are unique and cannot be changed.

Note: this field supports auto-complete.

Syntax
type

Alias:

issueType
Field Type

ISSUE_TYPE

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

Supported Functions

n/a

Examples
  • Find issues with an Issue Type of "Bug":
    type = Bug
  • Find issues with an Issue Type of "Bug" or "Improvement":
     issueType in (Bug,Improvement)
  • Find issues with an Issue Type ID of 2:
    issueType = 2

Time Spent

Only available if time-tracking has been enabled by your JIRA administrator.

Search for issues where the Time Spent is set to a particular value (i.e. a number, not a date or date range).

Use "w", "d", "h" and "m" to specify weeks, days, hours or minutes.

Note: this field does not support auto-complete.

Syntax
timeSpent
Field Type

DURATION

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

Supported Functions

n/a

Examples
  • Find issues where the Time Spent is more than 5 days:
    timeSpent > 5d



Updated

Search for issues that were last updated on, before or after a particular date (or date range).

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).

Note: this field does not support auto-complete.

Syntax
updated

Alias:

updatedDate
Field Type

DATE

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

Supported Functions

When used with the EQUALS, NOT_EQUALS, GREATER_THAN, GREATER_THAN_EQUALS, LESS_THAN or LESS_THAN_EQUALS operators, updated supports:

Examples
  • Find issues that were updated on or before 12th December 2008 00:00:
    updated <= "2008/12/12"
  • Find issues that were updated more than two weeks ago:
    updated < "-2w"
  • Find issues that were updated on 15 January 2009:
    updated > "2009/01/14" and updated < "2009/01/16"
  • Find issues that were updated in January 2009:
    updated > "2008/12/31" and updated < "2009/02/01"

Votes

Search for issues with a specified number of votes.

Note: this field does not support auto-complete.

Syntax
votes
Field Type

NUMBER

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

(error)

(error)

(tick)

(tick)

Supported Functions

n/a

Examples
  • Find all issues that have 12 or more votes:
    votes >= 12


Work Ratio

Only available if time-tracking has been enabled by your JIRA administrator.

Search for issues where the Work Ratio has a particular value.

Work Ratio is calculated as follows: workRatio = timeSpent / originalEstimate) x 100

Note: this field does not support auto-complete.

Syntax
workRatio
Field Type

NUMBER

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

(tick)

Supported Functions

n/a

Examples
  • Find issues on which more than 75% of the Original Estimate has been spent:
     workRatio > 75


Functions Reference

cascadeOption()

Search for issues that match the selected values of a 'cascading select' custom field.

The parentOption parameter matches against the first tier of options in the cascading select field. The childOption parameter matches against the second tier of options in the cascading select field, and is optional.

The keyword "none" can be used to search for issues where either or both of the options have no value.

Syntax
cascadeOption(parentOption)

or

cascadeOption(parentOption,childOption)
Supported Field Types

CASCADING_OPTION

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

Examples
  • Find issues where a custom field ("Location") has the value "USA" for the first tier and "New York" for the second tier:
    location in cascadeOption("USA","New York")
  • Find issues where a custom field ("Location") has the value "USA" for the first tier and any value (or no value) for the second tier:
    location in cascadeOption("USA")
  • Find issues where a custom field ("Location") has the value "USA" for the first tier and no value for the second tier:
    location in cascadeOption("USA",none)
  • Find issues where a custom field ("Location") has no value for the first tier and no value for the second tier:
    location in cascadeOption(none)
  • Find issues where a custom field ("Referrer") has the value "none" for the first tier and "none" for the second tier:
    referrer in cascadeOption("\"none"\","\"none"\")
  • Find issues where a custom field ("Referrer") has the value "none" for the first tier and no value for the second tier:
    referrer in cascadeOption("\"none"\",none)

currentUser()

Perform searches based on the currently logged-in user.

Note that this function can only be used by logged-in users. So if you are creating a saved filter that you expect to be used by anonymous users, do not use this function.

Syntax
currentUser()
Supported Field Types

USER

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

Examples
  • Find issues that are assigned to me:
    assignee = currentUser()
  • Find issues that were reported to me but are not assigned to me:
    reporter = currentUser() and assignee != currentUser()

issueHistory()

Find issues that you have recently viewed, i.e. issues that are in the 'Recent Issues' section of the 'Issues' drop-down menu.

Note:

  • issueHistory() returns up to 50 issues, whereas the 'Recent Issues' drop-down returns only 5.
  • if you are not logged in to JIRA, only issues from your current browser session will be included.
Syntax
issueHistory()
Supported Field Types

ISSUE

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

Examples
  • Find issues which I have recently viewed, that are assigned to me:
    issue in issueHistory() AND assignee = currentUser()

linkedIssues()

Perform searches based on issues which are linked to a specified issue.

You can optionally restrict the search to links of a particular type. Note that LinkType is case-sensitive.

Syntax
linkedIssues(issueKey)

or

linkedIssues(issueKey,linkType)
Supported Field Types

ISSUE

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

Examples
  • Find issues that are linked to a particular issue:
    issue in linkedIssues(ABC-123)
  • Find issues that are linked to a particular issue via a particular type of link:
    issue in linkedIssues(ABC-123,"is duplicated by")

membersOf()

Perform searches based on the members of a particular group.

Syntax
membersOf(Group)
Supported Field Types

USER

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

Examples
  • Find issues where the Assignee is a member of the group "jira-developers":
    assignee in membersOf("jira-developers")
  • Search through multiple groups and a specific user, e.g:
    reporter in membersOf("jira-developers") or reporter in membersOf("jira-administrators") or reporter=jsmith
  • Search for a particular group, but exclude a particular member or members, e.g.:
    assignee in membersOf(QA) and assignee not in ("John Smith","Jill Jones")
  • Exclude members of a particular group:
    assignee not in membersOf(QA)

now()

Perform searches based on the current time.

Syntax
now()
Supported Field Types

DATE

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(tick)

(tick)

(error)

(error)

(tick)

(tick)

(tick)

(tick)

(error)

(error)

(error)

(error)

Examples
  • Find issues that are overdue:
    duedate < now() and status not in (closed, resolved) 

releasedVersions()

Perform searches based on the released versions (i.e. versions that your JIRA administrator has released) of a specified project.

You can also search on the released versions of all projects, by omitting the project parameter.

Syntax
releasedVersions()

or

releasedVersions(project)
Supported Field Types

VERSION

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

Examples
  • Find issues whose FixVersion is a released version of the ABC project:
    fixVersion in releasedVersions(ABC)
  • Find issues that relate to released versions of the ABC project:
    affectedVersion in releasedVersions(ABC)
    or
    fixVersion in releasedVersions(ABC)

standardIssueTypes()

Perform searches based on "standard" Issue Types, that is, search for issues which are not sub-tasks.

Syntax
standardIssueTypes()
Supported Field Types

ISSUE_TYPE

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

Examples
  • Find issues that are not subtasks (i.e. issues whose Issue Type is a standard issue type, not a subtask issue type):
    issuetype in standardIssueTypes()

subtaskIssueTypes()

Perform searches based on issues which are sub-tasks.

Syntax
subtaskIssueTypes()
Supported Field Types

ISSUE_TYPE

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

Examples
  • Find issues that are subtasks (i.e. issues whose Issue Type is a subtask issue type):
    issuetype in subtaskIssueTypes()

unreleasedVersions()

Perform searches based on the unreleased versions (i.e. versions that your JIRA administrator has not yet released) of a specified project.

You can also search on the unreleased versions of all projects, by omitting the project parameter.

Syntax
unreleasedVersions()

or

unreleasedVersions(project)
Supported Field Types

VERSION

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

Examples
  • Find issues whose FixVersion is an unreleased version of the ABC project:
    fixVersion in unreleasedVersions(ABC)
  • Find issues that relate to unreleased versions of the ABC project:
    affectedVersion in unreleasedVersions(ABC)
    or
    fixVersion in unreleasedVersions(ABC)

votedIssues()

Perform searches based on issues for which you have voted.

Note that this function can only be used by logged-in users.

Syntax
votedIssues()
Supported Field Types

ISSUE

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

Examples
  • Find issues that you have voted for:
    issue in votedIssues()

watchedIssues()

Perform searches based on issues which you are watching.

Note that this function can only be used by logged-in users.

Syntax
watchedIssues()
Supported Field Types

ISSUE

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

Examples
  • Find issues that you are watching:
    issue in watchedIssues()
Supported Field Types

ISSUE

Supported Operators

=

!=

~

!~

>

>=

<

<=

IS

IS NOT

IN

NOT IN

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(error)

(tick)

(tick)

Examples
  • Find issues that you have recently viewed:
    issue in issueHistory()

Setting Precedence of Operators

You can use parentheses in complex JQL statements to enforce the precedence of operators.

For example, if you want to find all resolved issues in the SysAdmin project as well as all issues (any status, any project) currently assigned to the system administrator (bobsmith), you can use parentheses to enforce the precedence of the boolean operators in your query, i.e.:

(status=resolved AND project=SysAdmin) OR assignee=bobsmith

Note that if you do not use parentheses, the statement will be evaluated left-to-right.

You can also use parentheses to group clauses, so that you can apply the NOT operator to the group.

Performing Text Searches

You can use Lucene's text searching features when performing searches on the following fields:

For details, please see the page on Performing Text Searches, which includes the following sections:

Using Auto-complete

As you type your query, JIRA will recognise the context and offer a list of "auto-complete" suggestions as follows:

The list of auto-complete suggestions is displayed alphabetically and includes the first 15 matches. Note that auto-complete suggestions are not offered for function parameters.

Please note:

  • If no auto-complete suggestions are offered, your administrator may have disabled the "JQL Auto-complete" feature for your JIRA instance.
  • If you prefer not to be offered auto-complete suggestions, click the "Turn off auto-complete" link below the "Query" box.

Auto-complete suggestions are not offered for all fields. Check the fields reference to see which fields support auto-complete.

If you type a space at the start of your query...

...JIRA will offer a list of all available fields, e.g.:

If you type one or more characters...

...JIRA will offer a list of matching fields, e.g.:

If you type a field then a space...

...JIRA will offer a list of valid operators, e.g.:

If you type a field, then an operator, then a space...

...JIRA will offer a list of valid values, e.g.:

If you type a field, then an operator, then one or more characters...

...JIRA will offer a list of valid values (if your field supports this) and valid functions for the field/operator combination, e.g.:


Switching between 'Advanced' and 'Simple' Search

In general, a query created using 'Simple Search' will be able to be translated to 'Advanced Search' (i.e. JQL), and back again.

However, a query created using 'Advanced Search' may not be able to be translated to 'Simple Search', particular if:

  • the query contains an OR operator (note you can have an IN operator and it will be translated, e.g. project in (A, B))
    • i.e. even though this query: (project = JRA OR project = CONF) is equivalent to this query:(project in (JRA, CONF)), only the second query will be translated.
  • the query contains a NOT operator
  • the query contains an EMPTY operator
  • the query contains any of the comparison operators: !=, IS, IS NOT, >, >=, <, <=
  • the query specifies a field and value that is related to a project (e.g. version, component, custom fields) and the project is not explicitly included in the query (e.g.
    fixVersion = "4.0", without the AND project=JRA). This is especially tricky with custom fields since they can be configured on a Project/Issue Type basis. The general rule of thumb is
    that if the query cannot be created in the 'Simple Search' form, then if it is created using 'Advanced Search' it will not be able to be translated to 'Simple Search'.

Reserved Characters

JQL has a list of reserved characters. These characters need to be surrounded by quote-marks if you wish to use them in queries:

  • space (" ")
  • "+"
  • "."
  • ","
  • ";"
  • "?"
  • "|"
  • "'"
  • "*"
  • "/"
  • "%"
  • "^"
  • "$"
  • "#"
  • "@"

You can use either single quote-marks (') or double quote-marks (").

If your search term contains a quote-mark, you will need to precede it with the escape character (back-slash), e.g.:

"Type your name in the \"Login\" box"

If you use a single quote to escape your search term, then you can use the double quote (without escaping it) inside the single quotes; but you will have to escape any other single quotes. And vice-versa.

Reserved Words

JQL has a list of reserved words. These words need to be surrounded by quote-marks if you wish to use them in queries:

"abort", "access", "add", "after", "alias", "all", "alter", "and", "any", "as", "asc",
"audit", "avg", "before", "begin", "between", "boolean", "break", "by", "byte", "catch", "cf",
"char", "character", "check", "checkpoint", "collate", "collation", "column", "commit", "connect", "continue",
"count", "create", "current", "date", "decimal", "declare", "decrement", "default", "defaults", "define", "delete",
"delimiter", "desc", "difference", "distinct", "divide", "do", "double", "drop", "else", "empty", "encoding",
"end", "equals", "escape", "exclusive", "exec", "execute", "exists", "explain", "false", "fetch", "file", "field",
"first", "float", "for", "from", "function", "go", "goto", "grant", "greater", "group", "having",
"identified", "if", "immediate", "in", "increment", "index", "initial", "inner", "inout", "input", "insert",
"int", "integer", "intersect", "intersection", "into", "is", "isempty", "isnull", "join", "last", "left",
"less", "like", "limit", "lock", "long", "max", "min", "minus", "mode", "modify",
"modulo", "more", "multiply", "next", "noaudit", "not", "notin", "nowait", "null", "number", "object",
"of", "on", "option", "or", "order", "outer", "output", "power", "previous", "prior", "privileges",
"public", "raise", "raw", "remainder", "rename", "resource", "return", "returns", "revoke", "right", "row",
"rowid", "rownum", "rows", "select", "session", "set", "share", "size", "sqrt", "start", "strict",
"string", "subtract", "sum", "synonym", "table", "then", "to", "trans", "transaction", "trigger", "true",
"uid", "union", "unique", "update", "user", "validate", "values", "view", "when", "whenever", "where",
"while", "with"

You can use either single quote-marks (') or double quote-marks (").

(Note for JIRA administrators: this list is hard coded in the JqlStringSupportImpl.java file.)