This site is moving soon to become part of an integrated Appfire documentation and information site for our apps. This site will remain available during the transition to our new and improved site. Once this site is moved over, this banner will be updated with the new site link for easy access.
Take a look here! If you have any questions please email support@appfire.com
Migration Guide
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 |
---|
Advanced search using JQL Search Extensions functions
|
Jira Cloud |
Extended Search query using JQL Search Extensions keywords |
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:
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() |
|
|
Fields | ||
fieldMatch() |
|
|
fieldsHaveSameValue() |
| Limited support at the moment but a generic function is on our roadmap |
Attachments | ||
attachedAfter() |
|
|
attachedBefore() |
|
|
attachedBetween() |
|
|
attachedOnDate() |
|
|
attachedByUser() |
|
|
attachmentExtension() |
|
|
attachmentName() |
|
|
attachmentsCountEqualTo() |
|
|
attachmentsCountGreaterThan() |
|
|
attachmentsCountLessThan() |
|
|
Comments | ||
commentedAfter() |
|
|
commentedBefore() |
|
|
commentedBetween() |
|
|
commentedOnDate() |
|
|
commentedByUser() |
|
|
commentsCountEqualTo() |
|
|
commentsCountGreaterThan() |
|
|
commentsCountLessThan() |
|
|
Versions | ||
affectedVersionsArchivedCountLessThan() |
|
|
affectedVersionsArchivedCountEqualTo() |
|
|
affectedVersionsArchivedCountGreaterThan() |
|
|
affectedVersionsCountLessThan() |
|
|
affectedVersionsCountEqualTo() |
|
|
affectedVersionsCountGreaterThan() |
|
|
affectedVersionsOpenedCountLessThan() |
|
|
affectedVersionsOpenedCountEqualTo() |
|
|
affectedVersionsOpenedCountGreaterThan() |
|
|
affectedVersionsReleasedCountLessThan() |
|
|
affectedVersionsReleasedCountEqualTo() |
|
|
affectedVersionsReleasedCountGreaterThan() |
|
|
affectedVersionReleasedOnDate() |
|
|
affectedVersionReleasedBetweenDates() |
|
|
affectedVersionReleasedAfterDate() |
|
|
affectedVersionReleasedBeforeDate() |
|
|
fixVersionsArchivedCountLessThan() |
|
|
fixVersionsArchivedCountEqualTo() |
|
|
fixVersionsArchivedCountGreaterThan() |
|
|
fixVersionsCountLessThan() |
|
|
fixVersionsCountEqualTo() |
|
|
fixVersionsCountGreaterThan() |
|
|
fixVersionsOpenedCountLessThan() |
|
|
fixVersionsOpenedCountEqualTo() |
|
|
fixVersionsOpenedCountGreaterThan() |
|
|
fixVersionsReleasedCountLessThan() |
|
|
fixVersionsReleasedCountEqualTo() |
|
|
fixVersionsReleasedCountGreaterThan() |
|
|
fixVersionReleasedOnDate() |
|
|
fixVersionReleasedBetweenDates() |
|
|
fixVersionReleasedAfterDate() |
|
|
fixVersionReleasedBeforeDate() |
|
|
latestReleaseVersionForProject() | No direct cloud equivalent at the moment |
|
Links | ||
linksCountLessThan() |
|
|
linksCountGreaterThan() |
|
|
linksCountEqualTo() |
|
|
linkedBy([linktype], jql-query or issuekeys) | function |
|
links(jql-query, link type) | function |
|
linksIssue() |
|
|
linkType() |
|
|
linkedIssueStatus() |
|
|
linkedIssueStatusCategory() |
|
|
linkedIssueType() |
|
|
linkedIssuePriority() |
|
|
linkedByIssueProject() |
|
|
Issue Updates | ||
updatedByUserCountLessThan() |
|
|
updatedByUserCountGreaterThan() |
|
|
updatedByUserCountEqualTo() |
|
|
updatedByUser() |
|
|
transitionedByUser() |
|
|
loggedTimeByUser() |
|
|
Subtasks | ||
subTaskOf(jql-query) | function |
|
parentOf(jql-query) | functions
|
|
subtaskCountLessThan() |
|
|
subtaskCountGreaterThan() |
|
|
subtaskCountEqualTo() |
|
|
subTaskKey() |
|
|
subtaskPriority() |
|
|
subTaskType() |
|
|
subTaskStatus() |
|
|
subTaskStatusCategory() |
|
|
Software development | ||
openPullRequestsCount() | 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 |
|
epicOf(jql-query) | function |
|
User | ||
| 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.