JQL functions

This page describes information about functions that are used for advanced searching.

A function in JQL appears as a word followed by parentheses, which may contain one or more explicit values or Jira fields. In a clause, a function is preceded by an operator, which in turn is preceded by a field. A function performs a calculation on either specific Jira data or the function's content in parentheses, such that only true results are retrieved by the function, and then again by the clause in which the function is used.

Unless specified in the search query, note that JQL searches do not return empty fields in results. To include empty fields (e.g. unassigned issues) when searching for issues that are not assigned to the current user, you would enter (assignee != currentUser() OR assignee is EMPTY) to include unassigned issues in the list of results.

approved()

Only applicable for sites with Jira Service Management subscriptions.

Search for all requests that have an approval with a final decision of ‘approved’.

Syntax

1 approved()

Supported fields

Custom fields of type Approval

Supported operators

=

Unsupported operators

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

Examples

  • Find all requests that have been approved:
    approvals = approved()

approver()

Only applicable for sites with Jira Service Management subscriptions.

Search for requests where a specific user is an approver for a pending or completed approval step, and may or may not have already approved or declined the approval. This uses an OR operator, and you must specify a username.

Syntax

1 approver(user,user)

Supported fields

Custom fields of type Approval

Supported operators

=

Unsupported operators

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

Examples

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

  • Find requests that require or required approval by John Smith or Sarah Khan: approvals = approver(jsmith,skhan)

breached()

Only applicable for sites with Jira Service Management subscriptions.

Returns issues that whose most recent SLA has missed its goal.

Syntax

1 breached()

Supported fields

SLA

Supported operators

= , !=

Unsupported operators

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

Examples

  • Find issues where Time to First Response was breached:
    "Time to First Response" = breached()

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

1 2 cascadeOption(parentOption) cascadeOption(parentOption,childOption)

Supported fields

Custom fields of type 'Cascading Select'

Supported operators

IN , NOT IN

Unsupported operators

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

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)

choiceOption()

Provides the underlying ID of an option in a multiple choice or dropdown custom field. For example, in a multiple choice field with options Yes, No, Unknown, searching for No will return 2.

Requires at least one argument. For multiple arguments, returns the ID of each one. Arguments must be valid option values.

Syntax

1 2 choiceOption(ValueOption) choiceOption(ValueOption1,ValueOption2,ValueOption3)

Supported fields

Custom fields of type multiple choice and dropdown

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

  1. When searching for numeric option values (e.g. productVersion: 121, 122, 123):
    "productVersion[Select List (multiple choices)]" in choiceOption(123)

  2. In cases where 12345 could be both an ID and the option value, return issues where the option value matches:
    "customFieldRelatedToSprint[Dropdown]" in choiceOption(12345)

closedSprints()

Search for issues that are assigned to a completed Sprint.

It is possible for an issue to belong to both a completed Sprint(s) and an incomplete Sprint(s). See also openSprints().

Syntax

1 closedSprints()

Supported fields

Sprint

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

  • Find all issues that are assigned to a completed sprint:
    sprint in closedSprints()

completed()

Only applicable for sites with Jira Service Management subscriptions.

Returns issues that have an SLA that has completed at least one cycle. 

Syntax

1 completed()

Supported fields

SLA

Supported operators

= , !=

Unsupported operators

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

Examples

  • Find issues where Time to First Response has completed at least one cycle:
    "Time to First Response" = completed()

componentsLeadByUser()

Find issues in components that are led by a specific user. You can optionally specify a user, or if the user is omitted, the current user (i.e. you) will be used. 

If you are not logged in to Jira, a user must be specified.

Syntax

1 2 componentsLeadByUser() componentsLeadByUser(username)

Supported fields

Component

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

  • Find open issues in components that are led by you:
    component in componentsLeadByUser() AND status = Open

  • Find open issues in components that are led by Bill:
    component in componentsLeadByUser(bill) AND status = Open

currentLogin()

Perform searches based on the time at which the current user's session began. Also, see lastLogin.

Syntax

1 currentLogin()

Supported fields

Created, Due, Resolved, Updated, custom fields of type Date/Time

Supported operators

= , != , > , >= , < , <= WAS* , WAS IN* , WAS NOT* , WAS NOT IN* , CHANGED* * Only in predicate 

Unsupported operators

~ , !~ IS , IS NOT , IN , NOT IN

Examples

  • Find issues that have been created during my current session:
    created > currentLogin()

currentUser()

Perform searches based on the currently logged-in user. 

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

1 currentUser()

Supported fields

Assignee, Reporter, Voter, Watcher, Creator, custom fields of type User

Supported operators

= , !=

Unsupported operators

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

Examples

  • Find issues that are assigned to me:
    assignee = currentUser()

  • Find issues that were reported to me but are not assigned to me:

    1 reporter = currentUser() AND (assignee != currentUser() OR assignee is EMPTY)

customerDetail()

Perform searches based on the customers details.

To use this JQL function, turn on Customer service management on the Features page in Project settings.

This function will return up to 32000 customers.

Syntax

1 customerDetail( )

Supported fields

Assignee, Reporter, Voter, Watcher, custom fields of type User

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

  • Create a queue for all requests reported by customers in the APAC region:
    reporter in customerDetail("Region", "APAC")

  • Create a queue for all requests reported by customers who are not technical contacts
    reporter not in customerDetail("Role", "Technical Contact")

earliestUnreleasedVersion()

Perform searches based on the earliest unreleased version in a project. See also unreleasedVersions.

Version order is determined by the order versions are placed in on the Releases page in the project. The version at the bottom of the list is considered the "earliest." To change the order of versions, drag and drop them to a new place in the list.

Syntax

1 earliestUnreleasedVersion(project)

Supported fields

AffectedVersion, FixVersion, custom fields of type Version

Supported operators

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

IS, IS NOT, WAS, WAS NOT

Unsupported operators

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

Examples

  • Find issues whose FixVersion is the earliest unreleased version of the ABC project:
    fixVersion = earliestUnreleasedVersion(ABC)

  • Find issues that relate to the earlist unreleased version of the ABC project:
    affectedVersion = earliestUnreleasedVersion(ABC) or fixVersion = earliestUnreleasedVersion(ABC)

elapsed()

Only applicable for sites with Jira Service Management subscriptions.

Returns issues whose SLA clock is at a certain point relative to a cycle's start event.  

Syntax

1 elapsed()

Supported fields

SLA

Supported operators

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

Unsupported operators

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

Examples

  • Find issues that have been waiting for a first response for more than 1 hour:
    "Time to First Response" > elapsed("1h")

endOfDay()

Perform searches based on the end of the current day.

See also endOfWeekendOfMonth, and endOfYear; and startOfDaystartOfWeekstartOfMonth, and startOfYear.

Syntax

1 2 endOfDay() endOfDay("inc")

where inc is an optional increment of (+/-)nn(y|M|w|d|h|m). If the time unit qualifier is omitted, it defaults to the natural period of the function, e.g. endOfDay("+1") is the same as endOfDay("+1d"). If the plus/minus (+/-) sign is omitted, plus is assumed.

Supported fields

Created, Due, Resolved, Updated, custom fields of type Date/Time

Supported operators

= , != , > , >= , < , <= WAS* , WAS IN* , WAS NOT* , WAS NOT IN* , CHANGED** Only in predicate

Unsupported operators

~ , !~ IS , IS NOT , IN , NOT IN

Examples

  • Find issues due by the end of today:
    due < endOfDay()

  • Find issues due by the end of tomorrow:
    due < endOfDay("+1")

endOfMonth()

Perform searches based on the end of the current month.

See also endOfDayendOfWeek, and endOfYear; and startOfDaystartOfWeekstartOfMonth, and startOfYear.

Syntax

1 2 endOfMonth() endOfMonth("inc")

where inc is an optional increment of (+/-)nn(y|M|w|d|h|m). If the time unit qualifier is omitted, it defaults to the natural period of the function, e.g. endOfMonth("+1") is the same as endOfMonth("+1M"). If the plus/minus (+/-) sign is omitted, plus is assumed.

Supported fields

Created, Due, Resolved, Updated, custom fields of type Date/Time

Supported operators

= , != , > , >= , < , <= WAS* , WAS IN* , WAS NOT* , WAS NOT IN* , CHANGED** Only in predicate

Unsupported operators

~ , !~ IS , IS NOT , IN , NOT IN

Examples

  • Find issues due by the end of this month:
    due < endOfMonth()

  • Find issues due by the end of next month:
    due < endOfMonth("+1")

  • Find issues due by the 15th of next month:
    due < endOfMonth("+15d")

endOfWeek()

Search for issues that are due by the end of the last day of the current week. By default, this function considers Saturday to be the last day of the week. You can use a different day (for example, Sunday) as the end of the week. See the syntax in the examples mentioned below. 

See also endOfDayendOfMonth, and endOfYear; and startOfDaystartOfWeekstartOfMonth, and startOfYear.

Syntax

1 2 endOfWeek() endOfWeek("inc")

where inc is an optional increment of (+/-)nn(y|M|w|d|h|m). If the time unit qualifier is omitted, it defaults to the natural period of the function, e.g. endOfWeek("+1") is the same as endOfWeek("+1w"). If the plus/minus (+/-) sign is omitted, plus is assumed.

Supported fields

Created, Due, Resolved, Updated, custom fields of type Date/Time

Supported operators

= , != , > , >= , < , <= WAS* , WAS IN* , WAS NOT* , WAS NOT IN* , CHANGED** Only in predicate

Unsupported operators

~ , !~ IS , IS NOT , IN , NOT IN

Examples

  • Find issues due by the last day of the end of this week (by default, the last day is Saturday):
    due < endOfWeek()

  • Find issues due by the end of this week (last day as Sunday):
    due < endOfWeek("+1d")

  • Find issues due by the end of next week:
    due < endOfWeek("+1")

endOfYear()

Perform searches based on the end of the current year.

See also startOfDaystartOfWeek, and startOfMonth; and endOfDayendOfWeekendOfMonth, and endOfYear.

Syntax

1 2 endOfYear() endOfYear("inc")

where inc is an optional increment of (+/-)nn(y|M|w|d|h|m). If the time unit qualifier is omitted, it defaults to the natural period of the function, e.g. endOfYear("+1") is the same as endOfYear("+1y"). If the plus/minus (+/-) sign is omitted, plus is assumed.

Supported fields

Created, Due, Resolved, Updated, custom fields of type Date/Time

Supported operators

= , != , > , >= , < , <= WAS* , WAS IN* , WAS NOT* , WAS NOT IN* , CHANGED** Only in predicate

Unsupported operators

~ , !~ IS , IS NOT , IN , NOT IN

Examples

  • Find issues due by the end of this year:
    due < endOfYear()

  • Find issues due by the end of March next year:
    due < endOfYear("+3M")

entitlementDetail()

Only applicable for sites with Jira Service Management subscriptions.

Perform searches based on the entitlement’s details.

To use this JQL function, turn on Customer service management and Products and entitlements on the Features page in Project settings.

This function will return up to 32000 entitlements.

Syntax

1 entitlementDetail("Field Name", "Field Value")

Supported fields

Entitlement

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

  • Create a queue for all issues related to an entitlement where the “Support Level” is “Gold”
    entitlement in entitlementDetail("Support Level", "Gold")

entitlementProduct()

Only applicable for sites with Jira Service Management subscriptions.

Perform searches based on a product.

To use this JQL function, turn on Customer service management and Products and entitlements on the Features page in Project settings.

Syntax

1 entitlementProduct("ProductName")

Supported fields

Entitlement

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

  • Create a queue for all issues related to entitlements for the product “Acme Widget”
    entitlement in entitlementProduct("Acme Widget")

everbreached()

Only applicable for sites with Jira Service Management subscriptions.

Returns issues that have missed one of their SLA goals.  

Syntax

1 elapsed()

Supported fields

SLA

Supported operators

= , !=

Unsupported operators

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

Examples

  • Find issues have missed their goal for Time to First Response:
    "Time to First Response" = everbreached()

futureSprints()

Search for issues that are assigned to a sprint that hasn't been started yet.

It is possible for an issue to belong to both a completed sprint(s) and an incomplete sprint(s). 

Syntax

1 futureSprints()

Supported fields

Sprint

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

  • Find all issues that are assigned to a sprint that hasn't been started yet:
    sprint in futureSprints()

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

1 issueHistory()

Supported fields

Issue

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

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

issuesWithRemoteLinksByGlobalId()

Perform searches based on issues that are associated with remote links that have any of the specified global ids.

This function accepts 1 to 100 globalIds. Specifying 0 or more than 100 globalIds will result in errors.

Syntax

1 issuesWithRemoteLinksByGlobalId()

Supported fields

Issue

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

  • Find issues that are linked to remote links that have globalId "abc":
    issue in issuesWithRemoteLinksByGlobalId(abc)

  • Find issues that are linked to remote links that have either globalId "abc" or "def":
    issue in issuesWithRemoteLinksByGlobalId(abc, def)

lastLogin()

Perform searches based on the time at which the current user's previous session began. See also currentLogin.

Syntax

1 lastLogin()

Supported fields

Created. Due, Resolved, Updated, custom fields of type Date/Time

Supported operators

= , != , > , >= , < , <= WAS* , WAS IN* , WAS NOT* , WAS NOT IN* , CHANGED** Only in predicate

Unsupported operators

~ , !~ IS , IS NOT , IN , NOT IN

Examples

  • Find issues that have been created during my last session:
    created > lastLogin()

latestReleasedVersion()

Perform searches based on the latest released version (i.e. the most recent version that has been released) of a specified project. See also releasedVersions().

 The "latest" is determined by the ordering assigned to the versions, not by actual Version Due Dates.

Syntax

1 latestReleasedVersion(project)

Supported fields

AffectedVersion, FixVersion, custom fields of type Version

Supported operators

= , !=

Unsupported operators

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

Examples

  • Find issues whose FixVersion is the latest released version of the ABC project:
    fixVersion = latestReleasedVersion(ABC)

  • Find issues that relate to the latest released version of the ABC project:
    affectedVersion = latestReleasedVersion(ABC) or fixVersion = latestReleasedVersion(ABC)

linkedissue

Searches for epics and subtasks. If the issue is not an epic, the search returns all subtasks for the issue.

Syntax

1 linkedissue = issueKey

Supported fields

Issue

Supported operators

=, !=

Examples

  • Find subtasks that are linked to a particular epic:

    1 linkedissue = epicKey-123

linkedIssues()

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

Syntax

1 2 3 linkedIssues(issueKey) linkedIssues(issueKey,CaseSensitiveLinkType) linkedIssues(issueKey,CaseSensitiveLinkType, CaseSensitiveLinkType)

Supported fields

Issue

Supported operators

IN , NOT IN

Unsupported operators

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

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

  • Find issues that are linked to a particular issue via any type of link specified:

     issue in linkedIssues(ABC-123,"is duplicated by", "is blocked by")

membersOf()

Perform searches based on the members of a particular group.

Syntax

1 membersOf(Group)

Supported fields

Assignee, Reporter, Voter, Watcher, Creator, custom fields of type User

Supported operators

IN , NOT IN , WAS IN , WAS NOT IN

Unsupported operators

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

Examples

  • Find issues where the Assignee is a member of the group "jira-administrators":
    assignee in membersOf("jira-administrators")

  • Search through multiple groups and a specific user:
    reporter in membersOf("jira-administators") or reporter in membersOf("jira-work-management-users") or reporter=jsmith

  • Search for a particular group, but exclude a particular member or members:
    assignee in membersOf(QA) and assignee not in ("John Smith","Jill Jones")

  • Exclude members of a particular group:
    assignee not in membersOf(QA)

myApproval()

Only applicable for sites with Jira Service Management subscriptions.

Search for requests where the current user is the approver for a pending or completed approval step, and may or may not have already approved or declined the request.

Syntax

1 myApproval()

Supported fields

Custom fields of type Approval

Supported operators

=

Unsupported operators

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

Examples

Find all requests that required my approval
approval = myApproval()

myPendingApproval()

Only applicable for sites with Jira Service Management subscriptions.

Search for requests where the current user is the approver for a pending approval step and is yet to approve or decline the approval.

Syntax

1 myPendingApproval()

Supported fields

Custom fields of type Approval

Supported operators

=

Unsupported operators

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

Examples

Find all requests that currently require my approval
approvals = myPending()

myPending()

Only applicable for sites with Jira Service Management subscriptions.

Search for requests where the current user is the approver for a pending approval step, and may or may not have already approved or declined the approval.

Syntax

1 myPending()

Supported fields

Custom fields of type Approval

Supported operators

=

Unsupported operators

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

Examples

Find all requests that currently or previously required my approval
approvals = myPending()

now()

Perform searches based on the current time.

Syntax

1 now()

Supported fields

Created. Due, Resolved, Updated, custom fields of type Date/Time

Supported operators

= , != , > , >= , < , <= WAS* , WAS IN* , WAS NOT* , WAS NOT IN* , CHANGED** Only in predicate

Unsupported operators

~ , !~ IS , IS NOT , IN , NOT IN

Examples

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

openSprints()

Search for issues that are assigned to a sprint that was started, but has not yet been completed.

It is possible for an issue to belong to both a completed sprint(s) and an incomplete sprint(s). See also closedSprints(). 

Syntax

1 openSprints()

Supported fields

Sprint

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

  • Find all issues that are assigned to a sprint that has not yet been completed:
    sprint in openSprints()

organizationDetail()

Perform searches based on the organization details.

To use this JQL function, turn on Customer service management on the Features page in Project settings.

This function will return up to 32000 organizations.

Syntax

1 organizationDetail()

Supported fields

Organizations

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

  • Create a queue for all requests shared with organizations in the APAC region:
    organizations in organizationDetail("Region", "APAC")

  • Create a queue for all requests shared with organizations that are not in a platinum support level
    organizations not in organizationDetail("Support level", "Platinum")

  • Create a queue for all unresolved requests shared with organizations that joined on 2023-08-24 where the date is in YYYY-MM-DD format: resolution = Unresolved AND Organizations in organizationDetail("Joined on", "2023-08-24")

  • Consider a multi-select dropdown that can contain up to two values (option1 and option2 ). To create a queue for all the organizations where both values are present:

    resolution = Unresolved AND Organizations in organizationDetail("Options", "option1") AND Organizations in organizationDetail("Options", "option2")

organizationMembers()

Only applicable for sites with Jira Service Management subscriptions.

Search for all requests sent by the members of an organization. Returns requests that the members have shared with or kept private from that organization, and with any other organizations they're a member of.

Syntax

1 organizationMembers()

Supported fields

Assignee, Reporter, Voter, Watcher, custom fields of type User

Supported operators

IN , NOT IN , WAS IN , WAS NOT IN

Unsupported operators

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

Examples

  • Find all requests sent by members of the organization Atlassian:
    reporter in organizationMembers("Atlassian")

  • Find requests sent by people who are not in the organizations Atlassian or ACME:
    reporter not in organizationMembers("Atlassian","ACME")

parentEpic()

Only applicable for company-managed projects.

Search for issues and sub-tasks that are linked to an epic. 

Syntax

1 parentEpic()

Supported fields

Issue

Supported operators

= , != , IN , NOT IN

Unsupported operators

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

Examples

  • Find issues and sub-tasks in the epic DEMO-123:
    parentEpic = DEMO 123

  • Find issues and sub-tasks the epic DEMO-1 or SAMPLE-4:
    parentEpic in (DEMO-1, SAMPLE-4)

paused()

Only applicable for sites with Jira Service Management subscriptions.

Returns issues that have an SLA that is paused due to a condition.

To find issues that are paused because they are outside calendar hours, use withincalendarhours().

Syntax

1 paused()

Supported fields

SLA

Supported operators

= , !=

Unsupported operators

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

Examples

  • Find issues where Time to First Response is paused:
    "Time to First Response" = paused()

pending()

Only applicable for sites with Jira Service Management subscriptions.

Search for requests with a pending approval step.

Syntax

1 pending()

Supported fields

Custom fields of type Approval

Supported operators

=

Unsupported operators

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

Examples

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

pendingBy()

Only applicable for sites with Jira Service Management subscriptions.

Search for requests where a specific user is an approver for a pending approval step, and may or may not have already approved or declined the request. This uses an OR operator, and you must specify a username.

Syntax

1 pendingBy(user1,user2)

Supported fields

Custom fields of type Approval

Supported operators

=

Unsupported operators

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

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

Examples

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

  • Find requests that require by John Smith or Sarah Khan: approvals = pendingBy(jsmith,skhan)

projectsLeadByUser()

Find issues in projects that are led by a specific user. You can optionally specify a user, or if the user is omitted, the current user will be used. 

Note that if you are not logged in to Jira, a user must be specified.

Syntax

1 2 projectsLeadByUser() projectsLeadByUser(username)

Supported fields

Project

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

  • Find open issues in projects that are led by you:
    project in projectsLeadByUser() AND status = Open

  • Find open issues in projects that are led by Bill:
    project in projectsLeadByUser(bill) AND status = Open

projectsWhereUserHasPermission()

Find issues in projects where you have a specific permission. Note, this function operates at the project level. This means that if a permission (e.g. "Edit Issues") is granted to the reporter of issues in a project, then you may see some issues returned where you are not the reporter, and therefore don't have the permission specified. 

This function is only available if you are logged in to Jira.

Syntax

1 projectsWhereUserHasPermission(permission)

For the permission parameter, you can specify any of the permissions described on permissions for company-managed projects.

Supported fields

Project

Supported operators

in , not in

Unsupported operators

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

Examples

  • Find open issues in projects where you have the "Resolve Issues" permission:
    project in projectsWhereUserHasPermission("Resolve Issues") AND status = Open

projectsWhereUserHasRole()

Find issues in projects where you have a specific role. 

This function is only available if you are logged in to Jira.

Syntax

1 projectsWhereUserHasRole(rolename)

Supported fields

Project

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

  • Find open issues in projects where you have the "Developers" role:
    project in projectsWhereUserHasRole("Developers") AND status = Open

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. See also latestReleasedVersion().

Syntax

1 2 releasedVersions() releasedVersions(project)

Supported fields

AffectedVersion, FixVersion, custom fields of type Version

Supported operators

IN , NOT IN

Unsupported operators

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

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

remaining()

Only applicable for sites with Jira Service Management subscriptions.

Returns issues whose SLA clock is at a certain point relative to the goal.  

Syntax

1 remaining()

Supported fields

SLA

Supported operators

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

Unsupported operators

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

Examples

  • Find issues that will breach Time to Resolution in the next two hours:
    "Time to Resolution" < remaining("2h")

running()

Only applicable for sites with Jira Service Management subscriptions.

Returns issues that have an SLA that is running, regardless of the calendar.

To find issues that are running based on calendar hours, use withincalendarhours().

Syntax

1 running()

Supported fields

SLA

Supported operators

= , !=

Unsupported operators

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

Examples

  • Find issues where Time to First Response is running:
    "Time to First Response" = running()

standardIssueTypes()

Perform searches based on "standard" Issue Types, that is, search for issues that are not sub-tasks. See also subtaskIssueTypes().

Syntax

1 standardIssueTypes()

Supported fields

Type

Supported operators

IN , NOT IN

Unsupported operators

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

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

startOfDay()

Perform searches based on the start of the current day. See also startOfWeekstartOfMonth, and startOfYear; and endOfDayendOfWeekendOfMonth, and endOfYear.

Syntax

1 2 startOfDay() startOfDay("inc")

where inc is an optional increment of (+/-)nn(y|M|w|d|h|m). If the time unit qualifier is omitted, it defaults to the natural period of the function, e.g. startOfDay("+1") is the same as startOfDay("+1d"). If the plus/minus (+/-) sign is omitted, plus is assumed.

Supported fields

Created, Due, Resolved, Updated, custom fields of type Date/Time

Supported operators

= , != , > , >= , < , <= WAS* , WAS IN* , WAS NOT* , WAS NOT IN* , CHANGED** Only in predicate

Unsupported operators

~ , !~ IS , IS NOT , IN , NOT IN

Examples

  • Find new issues created since the start of today:
    created > startOfDay()

  • Find new issues created since the start of yesterday:
    created > startOfDay("-1")

  • Find new issues created in the last three days:
    created > startOfDay("-3d")

startOfMonth()

Perform searches based on the start of the current month. See also startOfDaystartOfWeek, and startOfYear; and endOfDayendOfWeekendOfMonth, and endOfYear.

Syntax

1 2 startOfMonth() startOfMonth("inc")

where inc is an optional increment of (+/-)nn(y|M|w|d|h|m). If the time unit qualifier is omitted, it defaults to the natural period of the function, e.g. startOfMonth("+1") is the same as startOfMonth("+1M"). If the plus/minus (+/-) sign is omitted, plus is assumed.

Supported fields

Created, Due, Resolved, Updated, custom fields of type Date/Time

Supported operators

= , != , > , >= , < , <= WAS* , WAS IN* , WAS NOT* , WAS NOT IN* , CHANGED** Only in predicate

Unsupported operators

~ , !~ IS , IS NOT , IN , NOT IN

Examples

  • Find new issues created since the start of this month:
    created > startOfMonth()

  • Find new issues created since the start of last month:
    created > startOfMonth("-1")

  • Find new issues created since the 15th of this month:
    created > startOfMonth("+14d")

startOfWeek()

Search for new issues created since the start of the first day of the current week. By default, this function considers Sunday to be the first day of the week. You can use a different day (for example, Monday) as the start of the week. See the syntax in the examples mentioned below. 

See also startOfDaystartOfMonth, and startOfYear; and endOfDayendOfWeekendOfMonth, and endOfYear

Syntax

1 2 startOfWeek() startOfWeek("inc")

where inc is an optional increment of (+/-)nn(y|M|w|d|h|m). If the time unit qualifier is omitted, it defaults to the natural period of the function, e.g. startOfWeek("+1") is the same as startOfWeek("+1w"). If the plus/minus (+/-) sign is omitted, plus is assumed.

Supported fields

Created, Due, Resolved, Updated, custom fields of type Date/Time

Supported operators

= , != , > , >= , < , <= WAS* , WAS IN* , WAS NOT* , WAS NOT IN* , CHANGED** Only in predicate

Unsupported operators

~ , !~ IS , IS NOT , IN , NOT IN

Examples

  • Find new issues since the first day of the start of this week (by default, the first day is Sunday):
    created > startOfWeek()

  • Find new issues since the first day of the start of this week (first day as Monday):
    created > startOfWeek("+1d")

  • Find new issues since the start of last week:
    created > startOfWeek("-1")

startOfYear()

Perform searches based on the start of the current year.

See also startOfDaystartOfWeek and startOfMonth; and endOfDayendOfWeekendOfMonth and endOfYear.

Syntax

1 2 startOfYear() startOfYear("inc")

where inc is an optional increment of (+/-)nn(y|M|w|d|h|m). If the time unit qualifier is omitted, it defaults to the natural period of the function, e.g. endOfYear("+1") is the same as endOfYear("+1y"). If the plus/minus (+/-) sign is omitted, plus is assumed.

Supported fields

Created, Due, Resolved, Updated, custom fields of type Date/Time

Supported operators

= , != , > , >= , < , <= WAS* , WAS IN* , WAS NOT* , WAS NOT IN* , CHANGED** Only in predicate

Unsupported operators

~ , !~ IS , IS NOT , IN , NOT IN

Examples

  • Find new issues since the start of this year:
    created > startOfYear()

  • Find new issues since the start of last year:
    created > startOfYear("-1")

subtaskIssueTypes()

Perform searches based on issues that are sub-tasks. See also standardIssueTypes().

Syntax

1 subtaskIssueTypes()

Supported fields

Type

Supported operators

IN , NOT IN

Unsupported operators

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

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. See also earliestUnreleasedVersion().

Syntax

1 2 unreleasedVersions() unreleasedVersions(project)

Supported fields

AffectedVersion, FixVersion, custom fields of type Version

Supported operators

IN , NOT IN

Unsupported operators

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

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)

updatedBy()

Search for issues that were updated by a specific user, optionally within the specified time range. An update, in this case, includes creating an issue, updating any of the issue's fields, creating or deleting a comment, or editing a comment (only the last edit). 

This function will return up to 32000 issue IDs.

For the time range, 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 time. Unlike some other functions, updatedBy doesn't support values smaller than a day, and will always round them up to 1 day.

Syntax

1 2 3 updatedBy(user) updatedBy(user, dateFrom) updatedBy(user, dateFrom, dateTo)

Supported fields

Issuekey, and its aliases (idissuekey)

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

  • Find issues that were updated by John Smith:
    issuekey IN updatedBy(jsmith)

  • Find issues that were updated by John Smith within the last 8 days:
    issuekey IN updatedBy(jsmith, "-8d")

  • Find issues updated between June and September 2018:
    issuekey IN updatedBy(jsmith, "2018/06/01", "2018/08/31")

  • If you try to find issues updated in the last hour, like in the following example, the time will be rounded up to 1 day, as smaller values aren't supported:
    issuekey IN updatedBy(jsmith, "-1h")

votedIssues()

Perform searches based on issues for which you have voted. Also, see the Voter field. Note, this function can only be used by logged-in users.

This function will return up to 32000 issue IDs.

Syntax

1 votedIssues()

Supported fields

Issue

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

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

watchedIssues()

Perform searches based on issues that you are watching. Also, see the Watcher field. Note that this function can only be used by logged-in users.

This function will return up to 32000 issue IDs.

Syntax

1 watchedIssues()

Supported fields

Issue

Supported operators

IN , NOT IN

Unsupported operators

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

Examples

  • Find issues that you are watching:
    issue in watchedIssues()

withinCalendarHours()

Only applicable for sites with Jira Service Management subscriptions.

Returns issues that have an SLA that is running according to the SLA calendar.

For example, say your project has two SLAs that count Time to First Response. Some issues with this SLA use a 9am-1pm calendar, and others use a 9am-5pm calendar. If an agent starts work at 3pm, they probably want to work on issues from the 9am-5pm agreement first. They can use withincalendarhours() to find all the issues where Time to First Response is running at 3pm.

Syntax

1 withinCalendarHours()

Supported fields

SLA

Supported operators

= , !=

Unsupported operators

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

Examples

  • Find issues where Time to First Response is within calendar hours:
    "Time to First Response" = withinCalendarHours()

Still need help?

The Atlassian Community is here for you.