Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page describes how to migrate from Jira Server or Jira Data Center to Jira Cloud and continue using the JQL Search Extensions.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:

Table of Contents
minLevel2
maxLevel3
outlinefalse
styledisc
typelist
printablefalse

Platform differences

JQL syntax

Support for JQL extensions The implementation of JQL Search Extensions is different in Jira server and cloud. On serverfor Jira Server/Data Center and Jira Cloud.

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

All functions are preceded by issue in, for example, issue in commentedBefore("20182022-0509-2611").

On the other hand in For Jira Cloud, most JQL extensions are implemented as JQL aliases and invoked similarly to normal fields: keywords as references to issue metadata resulting in indexed searches. Keywords are followed by operators, for example, commentedOnDate < "2018-05-26"

Or invoked as functions in the Extended Search screen.

JQL aliases added by the app are accessible in Jira Advanced Search. JQL . 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 screen page or via by using Extended Search filters in Jira advanced search.Refer to the table in the next section to see the mapping between server and cloud JQL functions.

Examples

Jira Server/ Data Center

Image Added

Jira Cloud

Image Added

Execution model

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

The service is maintained and supported by our team.

JQL functions

The following table lists the JQL extensions available on server and their cloud counterparts. Almost all functions from server have an equivalent in cloud.

See the full list of Cloud JQL extensions with examples: JQL aliases and functions (reference)

...

JQL on Server and DC

...

JQL in Cloud

...

Comments

...

Projects

...

MovedIssues

...

movedProjects

...

Fields

...

FieldMatch

...

functions: regex or wildcardMatch

...

FieldsHaveSameValue

...

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:

  • filters

  • board filters

  • automation rules

  • dashboard gadgets

  • plugins that accept filters and JQL queries

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

attachedAfter()

attachedOnDate

AttachedBefore

attachedBefore()

attachedOnDate

AttachedBetween

attachedBetween()

attachedOnDate

AttachedOnDate

attachedOnDate()

attachedOnDate

AttachedByUser

attachedByUser()

attachedByUser

AttachmentExtension

attachmentExtension()

attachmentExtension

AttachmentName

attachmentName()

attachedByUser

AttachmentsCountEqualTo

attachmentsCountEqualTo()

attachmentsCount

AttachmentsCountGreaterThan

attachmentsCountGreaterThan()

attachmentsCount

AttachmentsCountLessThan

attachmentsCountLessThan()

attachmentsCount

Comments

CommentedAfter

commentedAfter()

commentedOnDate

CommentedBefore

commentedBefore()

commentedOnDate

CommentedBetween

commentedBetween()

commentedOnDate

CommentedOnDate

commentedOnDate()

commentedOnDate

CommentedByUser

commentedByUser()

commentedByUser

commentLastCreatedBy

commentLastUpdatedBy

CommentsCountEqualTo

commentsCountEqualTo()

commentsCount

CommentsCountGreaterThan

commentsCountGreaterThan()

commentsCount

CommentsCountLessThan

commentsCountLessThan()

commentsCount

Versions

AffectedVersionsArchivedCountLessThan

affectedVersionsArchivedCountLessThan()

affectedVersionsArchived

AffectedVersionsArchivedCountEqualTo

affectedVersionsArchivedCountEqualTo()

affectedVersionsArchived

AffectedVersionsArchivedCountGreaterThan

affectedVersionsArchivedCountGreaterThan()

affectedVersionsArchived

AffectedVersionsCountLessThan

affectedVersionsCountLessThan()

affectedVersionsCount

AffectedVersionsCountEqualTo

affectedVersionsCountEqualTo()

affectedVersionsCount

AffectedVersionsCountGreaterThan

affectedVersionsCountGreaterThan()

affectedVersionsCount

AffectedVersionsOpenedCountLessThan

affectedVersionsOpenedCountLessThan()

affectedVersionsOpened

AffectedVersionsOpenedCountEqualTo

affectedVersionsOpenedCountEqualTo()

affectedVersionsOpened

AffectedVersionsOpenedCountGreaterThan

affectedVersionsOpenedCountGreaterThan()

affectedVersionsOpened

AffectedVersionsReleasedCountLessThan

affectedVersionsReleasedCountLessThan()

affectedVersionsReleased

AffectedVersionsReleasedCountEqualTo

affectedVersionsReleasedCountEqualTo()

affectedVersionsReleased

AffectedVersionsReleasedCountGreaterThan

affectedVersionsReleasedCountGreaterThan()

affectedVersionsReleased

AffectedVersionReleasedOnDate

affectedVersionReleasedOnDate()

affectedVersionReleasedDate

AffectedVersionReleasedBetweenDates

affectedVersionReleasedBetweenDates()

affectedVersionReleasedDate

AffectedVersionReleasedAfterDate

affectedVersionReleasedAfterDate()

affectedVersionReleasedDate

AffectedVersionReleasedBeforeDate

affectedVersionReleasedBeforeDate()

affectedVersionReleasedDate

FixVersionsArchivedCountLessThan

fixVersionsArchivedCountLessThan()

fixVersionsArchived

FixVersionsArchivedCountEqualTo

fixVersionsArchivedCountEqualTo()

fixVersionsArchived

FixVersionsArchivedCountGreaterThan

fixVersionsArchivedCountGreaterThan()

fixVersionsArchived

FixVersionsCountLessThan

fixVersionsCountLessThan()

fixVersionsCount

FixVersionsCountEqualTo

fixVersionsCountEqualTo()

fixVersionsCount

FixVersionsCountGreaterThan

fixVersionsCountGreaterThan()

fixVersionsCount

FixVersionsOpenedCountLessThan

fixVersionsOpenedCountLessThan()

fixVersionsOpened

FixVersionsOpenedCountEqualTo

fixVersionsOpenedCountEqualTo()

fixVersionsOpened

FixVersionsOpenedCountGreaterThan

fixVersionsOpenedCountGreaterThan()

fixVersionsOpened

FixVersionsReleasedCountLessThan

fixVersionsReleasedCountLessThan()

fixVersionsReleased

FixVersionsReleasedCountEqualTo

fixVersionsReleasedCountEqualTo()

fixVersionsReleased

FixVersionsReleasedCountGreaterThan

fixVersionsReleasedCountGreaterThan()

fixVersionsReleased

FixVersionReleasedOnDate

fixVersionReleasedOnDate()

fixVersionReleaseDate

FixVersionReleasedBetweenDates

fixVersionReleasedBetweenDates()

fixVersionReleaseDate

FixVersionReleasedAfterDate

fixVersionReleasedAfterDate()

fixVersionReleaseDate

FixVersionReleasedBeforeDate

fixVersionReleasedBeforeDate()

fixVersionReleaseDate

LatestReleaseVersionForProject

latestReleaseVersionForProject()

no

No direct cloud equivalent at the moment

Links

LinksCountLessThan

linksCountLessThan()

linksCount

LinksCountGreaterThan

linksCountGreaterThan()

linksCount

LinksCountEqualTo

linksCountEqualTo()

linksCount

LinkedBy

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

function linkedIssuesOfQuery()

Links

links(jql-query, link type)

function linkedIssuesOfQuery()

LinksIssue

linksIssue()

linkedBy

linksIssue

LinkType

linkType()

linkType

LinkedIssueStatus

linkedIssueStatus()

linkedIssueStatus

LinkedIssueStatusCategory

linkedIssueStatusCategory()

linkedIssueStatusCategory

LinkedIssueType

linkedIssueType()

linkedIssueType

LinkedIssuePriority

linkedIssuePriority()

linkedIssuePriority

LinkedByIssueProject

linkedByIssueProject()

linkedByIssueProject

Updated

UpdatedByUserCountLessThan

Issue Updates

updatedByUserCountLessThan()

updatedByUsersCount

UpdatedByUserCountGreaterThan

updatedByUserCountGreaterThan()

updatedByUsersCount

UpdatedByUserCountEqualTo

updatedByUserCountEqualTo()

updatedByUsersCount

UpdatedByUser

updatedByUser()

updatedBy

TransitionedByUser

transitionedByUser()

transitionedBy

LoggedTimeByUser

loggedTimeByUser()

loggedTimeBy

Subtasks

SubTaskOf

subTaskOf(jql-query)

function subtasksOfParentsInQuery()

ParentOf

parentOf(jql-query)

functions

parentsOfIssuesInQuery()

parentsOfIssuesInQueryRecursive()

SubtaskCountLessThan

subtaskCountLessThan()

subtasksCount

SubtaskCountGreaterThan

subtaskCountGreaterThan()

subtasksCount

SubtaskCountEqualTo

subtaskCountEqualTo()

subtasksCount

SubTaskKey

subTaskKey()

subtaskKey

SubtaskPriority

subtaskPriority()

subtaskPriority

SubTaskType

subTaskType()

subtaskIssueType

SubTaskStatus

subTaskStatus()

subtaskStatus

SubTaskStatusCategory

subTaskStatusCategory()

subtaskStatusCategory

Software development

OpenPullRequestsCount
CommitsCount
FailingBuildsCount
OpenReviewsCount
PullRequestsCount
ReviewsCount

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

allIssuesInEpic(jql-query or issuekey)

function childrenOfEpicsInQuery()

EpicOf

epicOf(jql-query)

function epicsOfChildrenInQuery()

User

userMatch

no

No direct cloud equivalent

at the moment

Migration steps

The first step is to identify queries that are using JQL extensions. You should especially look at:

  • filters

  • board filters

  • automation rules

  • dashboard gadgets

  • plugins that accept filters and JQL queries

Once the queries were identified, translate the calls to JQL extension functions using the table above.

...

Cloud-only features

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

Aura inline button
summaryTry it free
paramsJTdCJTIybGFiZWwlMjIlM0ElMjJUcnklMjBpdCUyMGZyZWUlMjIlMkMlMjJzaXplJTIyJTNBJTIybWVkaXVtJTIyJTJDJTIyc2hhcGUlMjIlM0ElMjJjaXJjdWxhciUyMiUyQyUyMnN0YXRlcyUyMiUzQSU3QiUyMmlkbGUlMjIlM0ElN0IlMjJjb2xvcnMlMjIlM0ElN0IlMjJiYWNrZ3JvdW5kJTIyJTNBJTIyJTIzMjY4NGZmJTIyJTJDJTIybGFiZWwlMjIlM0ElMjIlMjNmZmZmZmYlMjIlN0QlN0QlMkMlMjJob3ZlciUyMiUzQSU3QiUyMmNvbG9ycyUyMiUzQSU3QiUyMmJhY2tncm91bmQlMjIlM0ElMjIlMjNmZmZmZmYlMjIlMkMlMjJvdXRsaW5lJTIyJTNBJTIyJTIzMjY4NGZmJTIyJTJDJTIybGFiZWwlMjIlM0ElMjIlMjMyNjg0ZmYlMjIlN0QlN0QlN0QlMkMlMjJsaW5rJTIyJTNBJTdCJTIydHlwZSUyMiUzQSUyMmxpbmslMjIlMkMlMjJ2YWx1ZSUyMiUzQSUyMmh0dHBzJTNBJTJGJTJGbWFya2V0cGxhY2UuYXRsYXNzaWFuLmNvbSUyRmFwcHMlMkYxMjE0NzkxJTJGanFsLXNlYXJjaC1leHRlbnNpb25zLWZvci1qaXJhLXJlcG9ydHMlM0Zob3N0aW5nJTNEY2xvdWQlMjZ0YWIlM0RvdmVydmlldyUyMiU3RCU3RA==

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.