• Products
  • Get started
  • Documentation
  • Resources

JQL keywords

This page describes information about keywords that are used for advanced searching. A keyword in JQL is a word or phrase that does (or is) any of the following:

  • joins two or more clauses together to form a complex JQL query

  • alters the logic of one or more clauses

  • alters the logic of operators

  • has an explicit definition in a JQL query

  • performs a specific function that alters the results of a JQL query

AND

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

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

Examples

  • Find all open issues in the "New office" project:

    1 project = "New office" and status = "open"
  • Find all open, urgent issues that are assigned to jsmith:

    1 status = open and priority = urgent and assignee = jsmith
  • Find all issues in a particular project that are not assigned to jsmith:

    1 project = JRA and assignee != jsmith
  • Find all issues for a specific release which consists of different version numbers across several projects:

    1 project in (JRA,CONF) and fixVersion = "3.14"
  • Find all issues where neither the Reporter nor the Assignee is Jack, Jill or John:

    1 reporter not in (Jack,Jill,John) and assignee not in (Jack,Jill,John)

OR

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

Note that you can use parentheses to control the order in which clauses 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:

    1 reporter = jsmith or reporter = jbrown
  • Find all issues that are overdue or where no due date is set:

    1 duedate < now() or duedate is empty

NOT

Used to negate individual clauses or a complex JQL query (a query made up of more than one clause) using parentheses, allowing you to refine your search.

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

    1 not assignee = jsmith
  • Find all issues that were not created by either jsmith or jbrown:

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

    1 duedate = empty

    or

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

    1 duedate = null

    or

    1 duedate is null

ORDER BY

Used to specify the fields by whose values the search results will be sorted. This requirement needs to be placed at the end of the JQL query, otherwise the JQL will be invalid.

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:

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

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

    1 duedate = empty order by created, priority asc

Ordering by Components or Versions will list the returned issues first by Project, and only then by the field's natural order (see JRA-31113).

Additional Help