Are you using JQL Search Extensions for Jira Server/Data Center and want to continue using JQL Search Extensions on Jira Cloud? This page describes the key platform and feature differences. You can also find a list of the additional Cloud-only extensions that are available to you with JQl Search Extensions for Jira Cloud.

In this section:

Platform differences

JQL syntax

The implementation of JQL Search Extensions is different for Jira Server/Data Center and Jira Cloud.

For Jira Server/Data Center, all the extensions are implemented as JQL functions that perform calculations with the value used in ().

All functions are preceded by issue in, for example, issue in commentedBefore("2022-09-11").

For Jira Cloud, most JQL extensions are implemented as JQL keywords as references to issue metadata resulting in indexed searches. Keywords are followed by operators, for example, commentedOnDate < "2018-05-26". Other, more complex searches are implemented as JQL functions.

Usage

In JQL Search Extensions for Jira Server/Data Center, you can use the extensions in Jira’s advanced search.

In JQL Search Extensions for Jira Cloud, JQL keywords provided by the app can be used in Jira’s advanced search and the Extended Search page. JQL functions are accessible from the Extended Search page or by using Extended Search filters in Jira advanced search.

Examples

Jira Server/ Data Center

Jira Cloud

Execution model

With the Server/Data Center version, the search queries are executed in the same Java Virtual Machine (JVM) as Jira. In the Cloud version, the JQL Search Extensions service is a separate deployment that communicates with Jira over the REST API. As a result, all operations in the cloud are indexed asynchronously and updates to issues in Jira can be reflected in the JQL with a slight delay.

Migration pathway

Queries are not migrated. If you want to use any saved queries from your Server/Data instance in Jira Cloud, the first step is to identify queries that use JQL Search Extensions. You should especially look at:

Once you have identified where the saved queries are used, translate them to the Cloud-equivalent JQL extension using the table below. You can also build new queries using the additional extensions provided by JQL Search Extensions for Jira Cloud. If you need further guidance, contact our support team.

Feature parity comparison

The table below lists the parity between JQL Search Extensions for Jira Server/Data Center and Jira Cloud. Note the difference in syntax for Server/Data Center functions and Cloud keywords.

Server/Data Center

Cloud

Notes

Projects

movedIssues()

movedProjects

Fields

fieldMatch()

regex(), or wildcardMatch()

fieldsHaveSameValue()

hasSameUpdatedAndCreatedDate

hasSameAssigneeAndReporter

hasSameVersions

Limited support at the moment but a generic function is on our roadmap

Attachments

attachedAfter()

attachedOnDate

attachedBefore()

attachedOnDate

attachedBetween()

attachedOnDate

attachedOnDate()

attachedOnDate

attachedByUser()

attachedByUser

attachmentExtension()

attachmentExtension

attachmentName()

attachedByUser

attachmentsCountEqualTo()

attachmentsCount

attachmentsCountGreaterThan()

attachmentsCount

attachmentsCountLessThan()

attachmentsCount

Comments

commentedAfter()

commentedOnDate

commentedBefore()

commentedOnDate

commentedBetween()

commentedOnDate

commentedOnDate()

commentedOnDate

commentedByUser()

commentedByUser

commentLastCreatedBy

commentLastUpdatedBy

commentsCountEqualTo()

commentsCount

commentsCountGreaterThan()

commentsCount

commentsCountLessThan()

commentsCount

Versions

affectedVersionsArchivedCountLessThan()

affectedVersionsArchived

affectedVersionsArchivedCountEqualTo()

affectedVersionsArchived

affectedVersionsArchivedCountGreaterThan()

affectedVersionsArchived

affectedVersionsCountLessThan()

affectedVersionsCount

affectedVersionsCountEqualTo()

affectedVersionsCount

affectedVersionsCountGreaterThan()

affectedVersionsCount

affectedVersionsOpenedCountLessThan()

affectedVersionsOpened

affectedVersionsOpenedCountEqualTo()

affectedVersionsOpened

affectedVersionsOpenedCountGreaterThan()

affectedVersionsOpened

affectedVersionsReleasedCountLessThan()

affectedVersionsReleased

affectedVersionsReleasedCountEqualTo()

affectedVersionsReleased

affectedVersionsReleasedCountGreaterThan()

affectedVersionsReleased

affectedVersionReleasedOnDate()

affectedVersionReleasedDate

affectedVersionReleasedBetweenDates()

affectedVersionReleasedDate

affectedVersionReleasedAfterDate()

affectedVersionReleasedDate

affectedVersionReleasedBeforeDate()

affectedVersionReleasedDate

fixVersionsArchivedCountLessThan()

fixVersionsArchived

fixVersionsArchivedCountEqualTo()

fixVersionsArchived

fixVersionsArchivedCountGreaterThan()

fixVersionsArchived

fixVersionsCountLessThan()

fixVersionsCount

fixVersionsCountEqualTo()

fixVersionsCount

fixVersionsCountGreaterThan()

fixVersionsCount

fixVersionsOpenedCountLessThan()

fixVersionsOpened

fixVersionsOpenedCountEqualTo()

fixVersionsOpened

fixVersionsOpenedCountGreaterThan()

fixVersionsOpened

fixVersionsReleasedCountLessThan()

fixVersionsReleased

fixVersionsReleasedCountEqualTo()

fixVersionsReleased

fixVersionsReleasedCountGreaterThan()

fixVersionsReleased

fixVersionReleasedOnDate()

fixVersionReleaseDate

fixVersionReleasedBetweenDates()

fixVersionReleaseDate

fixVersionReleasedAfterDate()

fixVersionReleaseDate

fixVersionReleasedBeforeDate()

fixVersionReleaseDate

latestReleaseVersionForProject()

No direct cloud equivalent at the moment

Links

linksCountLessThan()

linksCount

linksCountGreaterThan()

linksCount

linksCountEqualTo()

linksCount

linkedBy([linktype], jql-query or issuekeys)

function linkedIssuesOfQuery()

links(jql-query, link type)

function linkedIssuesOfQuery()

linksIssue()

linkedBy

linksIssue

linkType()

linkType

linkedIssueStatus()

linkedIssueStatus

linkedIssueStatusCategory()

linkedIssueStatusCategory

linkedIssueType()

linkedIssueType

linkedIssuePriority()

linkedIssuePriority

linkedByIssueProject()

linkedByIssueProject

Issue Updates

updatedByUserCountLessThan()

updatedByUsersCount

updatedByUserCountGreaterThan()

updatedByUsersCount

updatedByUserCountEqualTo()

updatedByUsersCount

updatedByUser()

updatedBy

transitionedByUser()

transitionedBy

loggedTimeByUser()

loggedTimeBy

Subtasks

subTaskOf(jql-query)

function subtasksOfParentsInQuery()

parentOf(jql-query)

functions

parentsOfIssuesInQuery()

parentsOfIssuesInQueryRecursive()

subtaskCountLessThan()

subtasksCount

subtaskCountGreaterThan()

subtasksCount

subtaskCountEqualTo()

subtasksCount

subTaskKey()

subtaskKey

subtaskPriority()

subtaskPriority

subTaskType()

subtaskIssueType

subTaskStatus()

subtaskStatus

subTaskStatusCategory()

subtaskStatusCategory

Software development

openPullRequestsCount()
commitsCount()
failingBuildsCount()
openReviewsCount()
pullRequestsCount()
reviewsCount()

There is no support in JQL Search Extensions

If you linked your development tools, refer to the native Jira Cloud JQL documentation https://confluence.atlassian.com/jirasoftwareserver/advanced-searching-development-fields-reference-973491363.html

Issue hierarchy

allIssuesInEpic(jql-query or issuekey)

function childrenOfEpicsInQuery()

epicOf(jql-query)

function epicsOfChildrenInQuery()

User

userMatch

No direct cloud equivalent

Cloud-only features

JQL Search Extensions for Jira Cloud provides the following additional extensions not available with the Server/Data Center app.

Agile

nextSprint()

previousSprint()

addedToSprintAfterStart()

Epics

epicsOfChildrenInQuery()

childrenOfEpicsInQuery()

issuesInEpicCount

bugsInEpicCount

storiesInEpicCount

issuesInEpicToDoCount

issuesInEpicInProgressCount

issuesInEpicDoneCount

bugsInEpicToDoCount

bugsInEpicInProgressCount

bugsInEpicDoneCount

storiesInEpicToDoCount

storiesInEpicInProgressCount

storiesInEpicDoneCount

Field Comparison

dateCompare()

dateCompareIgnoreTime()

Issue & Project Updates

updatedOnDates

lastUpdatedBy

movedProjectsCount

Jira Hierarchy and Advanced Roadmaps

parentsOfIssuesInQuery()

parentsOfIssuesInQueryRecursive()

childrenOfIssuesInQuery()

childrenOfIssuesInQueryRecursive()

Subtasks

parentSummary

parentPriority

parentIssueType

parentStatus

parentStatusCategory

Text

exactTextMatch()

exactTextMatchCaseInsensitive()

Web Links (Remote Links)

remoteLinkUrl

remoteLinkUrlPartialMatch

remoteLinkApplicationName

remoteLinkApplicationType

remoteLinkHost

remoteLinkQuery

remoteLinkPath

remoteLinkTitle

remoteLinkTitlePartialMatch

remoteLinkRelationship

remoteLinksCount

See the full list of Cloud JQL extensions with examples: JQL Functions Reference.