---
title: "Migrations"
canonical: "https://support.appfire.com/space/JQLSEARCH/604209729/Migrations"
format: markdown
---
> Macro (aura-html)

Are you using JQL Search Extensions for Jira Data Center and want to continue using JQL Search Extensions on Jira Cloud? This page describes the key feature and syntax differences. You can also find a list of the additional [Cloud-only extensions ](https://appfire.atlassian.net/wiki/spaces/JQLSEARCH/pages/edit-v2/604209729#Cloud-only-features)that are available to you with JQL Search Extensions for Jira Cloud.

> ℹ️ See our full list of Cloud extensions with examples: [JQL functions and keywords reference](https://appfire.atlassian.net/wiki/spaces/JQLSEARCH/pages/604209395).

## Platform differences

### JQL syntax

The implementation of JQL Search Extensions (JSE) differs between Jira Data Center and Jira Cloud. 

For Jira Data Center, all extensions are implemented as JQL **functions **that perform calculations using the values specified 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. Refer to the [syntax table](https://appfire.atlassian.net/wiki/spaces/JQLSEARCH/pages/604209729/Migrations#Syntax-differences-between-JSE-Data-Center-and-JSE-Cloud) on this page for the complete list.

### Usage

You can use the extensions in JQL Search Extensions for Jira Data Center in Jira’s advanced search.

In JQL Search Extensions for Jira Cloud, the app provides JQL keywords that can be used in Jira’s advanced search and the Extended Search page. JQL functions are accessible from the [Extended Search](https://appfire.atlassian.net/wiki/spaces/JQLSEARCH/pages/604209464) page or by using [Extended Search filters](https://appfire.atlassian.net/wiki/spaces/JQLSEARCH/pages/604209567) in Jira’s advanced search.

#### Examples

| **Jira Data Center** |
| --- |
| ![Jira advanced search showing a JQL Search Extensions Data Center function query in the search field.](media://d065bd72-6a3a-4fb8-a6af-56ba659aa67e) |
| **Jira Cloud** |
| ![JQL Search Extensions Extended Search page showing a Cloud keyword query in the search field.](media://a95f2127-b840-440b-a3b5-9802a01883d8) |

### Execution model

With the 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 communicating with Jira over the REST API. As a result, all operations in the cloud are indexed [asynchronously](https://appfire.atlassian.net/wiki/spaces/JQLSEARCH/pages/604209683), 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 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
- Other apps that accept filters and JQL queries, for example, JSU, JMWE, Power Scripts, or BigPicture

Once you have identified where the saved queries are used, translate them to the Cloud-equivalent JQL extension using the [syntax table](https://appfire.atlassian.net/wiki/spaces/JQLSEARCH/pages/604209729/Migrations#Syntax-differences-between-JSE-Data-Center-and-JSE-Cloud) below. You can also build new queries using the [additional extensions](https://appfire.atlassian.net/wiki/spaces/JQLSEARCH/pages/604209729/Migrations#Cloud-only-features) provided by JQL Search Extensions for Jira Cloud. If you require additional assistance, please contact our [support team](https://appf.re/support).

## Feature parity comparison

The table below lists the query parity between JQL Search Extensions for Jira Data Center and Jira Cloud. 

> ℹ️ Last updated 11/4/2025

| **Keyword/function type** | **DC** | **Cloud** | **Notes** |
| --- | --- | --- | --- |
| Projects | :check_mark: | :check_mark: | `movedProjects` was deprecated 9/30/2024 |
| Fields | :check_mark: | :check_mark: |  |
| Attachments | :check_mark: | :check_mark: |  |
| Comments | :check_mark: | :check_mark: |  |
| Versions | :check_mark: | :check_mark: |  |
| Links | :check_mark: | :check_mark: |  |
| Issue Updates | :check_mark: | :check_mark: |  |
| Subtasks | :check_mark: | :check_mark: |  |
| Software Development | :check_mark: | :cross_mark: | If you linked your development tools, refer to Atlassian’s Jira Cloud JQL [documentation](https://confluence.atlassian.com/jirasoftwareserver/advanced-searching-development-fields-reference-973491363.html). |
| Issue Hierarchy | :check_mark: | :check_mark: |  |
| User | :check_mark: | :cross_mark: |  |

## Cloud-only features 

JQL Search Extensions for Jira Cloud provides the following additional extensions that are not unavailable with the Data Center app.

|  |
| --- |
| **Agile** |
| nextSprint()<br>previousSprint()<br>addedToSprintAfterStart() |
| **Attachments** |
| attachmentContent |
| **Comments** |
| commentUpdatedOnDate<br>commentLastUpdatedOnDate |
| **Epics** |
| epicsOfChildrenInQuery()<br>childrenOfEpicsInQuery()<br>issuesInEpicCount<br>bugsInEpicCount<br>storiesInEpicCount<br>issuesInEpicToDoCount<br>issuesInEpicInProgressCount<br>issuesInEpicDoneCount<br>bugsInEpicToDoCount<br>bugsInEpicInProgressCount<br>bugsInEpicDoneCount<br>storiesInEpicToDoCount<br>storiesInEpicInProgressCount<br>storiesInEpicDoneCount |
| **Field Comparison** |
| dateCompare()<br>dateCompareIgnoreTime() |
| **Issue & Project Updates** |
| updatedOnDates<br>lastUpdatedBy<br>movedProjectsCount (deprecated 9/30/2024 ) |
| **Jira Hierarchy and Advanced Roadmaps** |
| parentsOfIssuesInQuery()<br>parentsOfIssuesInQueryRecursive()<br>childrenOfIssuesInQuery()<br>childrenOfIssuesInQueryRecursive() |
| **Links** |
| linksIssueProject |
| **Subtasks** |
| parentSummary<br>parentPriority<br>parentIssueType<br>parentStatus<br>parentStatusCategory |
| **Text ** |
| exactTextMatch()<br>exactTextMatchCaseInsensitive() |
| **Web Links (Remote Links)** |
| remoteLinkUrl<br>remoteLinkUrlPartialMatch<br>remoteLinkApplicationName<br>remoteLinkApplicationType<br>remoteLinkHost<br>remoteLinkQuery<br>remoteLinkPath<br>remoteLinkTitle<br>remoteLinkTitlePartialMatch<br>remoteLinkRelationship<br>remoteLinksCount |

## Syntax differences between JSE Data Center and JSE Cloud

Most JQL functions are written as keywords in JSE Cloud. Refer to this table when converting saved queries if you migrate from the Data Center version of our app. 

| **Data Center** | **Cloud** | **Notes** |
| --- | --- | --- |
| movedIssues() | `movedProjects` | `movedProjects` was deprecated 9/30/2024 |
| fieldMatch() | `regex()`, or `wildcardMatch()` |  |
| fieldsHaveSameValue() | `hasSameUpdatedAndCreatedDate`<br>`hasSameAssigneeAndReporter`<br>`hasSameVersions` |  |
| attachedAfter() | `attachedOnDate` |  |
| attachedBefore() | `attachedOnDate` |  |
| attachedBetween() | `attachedOnDate` |  |
| attachedOnDate() | `attachedOnDate` |  |
| attachedByUser() | `attachedByUser` |  |
| attachmentExtension() | `attachmentExtension` |  |
| attachmentName() | `attachedByUser` |  |
| attachmentsCountEqualTo() | `attachmentsCount` |  |
| attachmentsCountGreaterThan() | `attachmentsCount` |  |
| attachmentsCountLessThan() | `attachmentsCount` |  |
| commentedAfter() | `commentedOnDate` |  |
| commentedBefore() | `commentedOnDate` |  |
| commentedBetween() | `commentedOnDate` |  |
| commentedOnDate() | `commentedOnDate` |  |
| commentedByUser() | `commentedByUser`<br>`commentLastCreatedBy`<br>`commentLastUpdatedBy` |  |
| commentsCountEqualTo() | `commentsCount` |  |
| commentsCountGreaterThan() | `commentsCount` |  |
| commentsCountLessThan() | `commentsCount` |  |
| 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 |  |
| linksCountLessThan() | `linksCount` |  |
| linksCountGreaterThan() | `linksCount` |  |
| linksCountEqualTo() | `linksCount` |  |
| linkedBy([linktype], jql-query or issuekeys) | function `linkedIssuesOfQuery()` |  |
| links(jql-query, link type) | function `linkedIssuesOfQuery()` |  |
| linksIssue() | `linkedBy`<br>`linksIssue` |  |
| linkType() | `linkType` |  |
| linkedIssueStatus() | `linkedIssueStatus` |  |
| linkedIssueStatusCategory() | `linkedIssueStatusCategory` |  |
| linkedIssueType() | `linkedIssueType` |  |
| linkedIssuePriority() | `linkedIssuePriority` |  |
| linkedByIssueProject() | `linkedByIssueProject` |  |
| updatedByUserCountLessThan() | `updatedByUsersCount` |  |
| updatedByUserCountGreaterThan() | `updatedByUsersCount` |  |
| updatedByUserCountEqualTo() | `updatedByUsersCount` |  |
| updatedByUser() | `updatedBy` |  |
| transitionedByUser() | `transitionedBy` |  |
| loggedTimeByUser() | `loggedTimeBy` |  |
| subTaskOf(jql-query) | function `subtasksOfParentsInQuery()` |  |
| parentOf(jql-query) | functions<br>`parentsOfIssuesInQuery()`<br>`parentsOfIssuesInQueryRecursive()` |  |
| subtaskCountLessThan() | `subtasksCount` |  |
| subtaskCountGreaterThan() | `subtasksCount` |  |
| subtaskCountEqualTo() | `subtasksCount` |  |
| subTaskKey() | `subtaskKey` |  |
| subtaskPriority() | `subtaskPriority` |  |
| subTaskType() | `subtaskIssueType` |  |
| subTaskStatus() | `subtaskStatus` |  |
| subTaskStatusCategory() | `subtaskStatusCategory` |  |
| openPullRequestsCount()  
commitsCount()  
failingBuildsCount()  
openReviewsCount()  
pullRequestsCount()  
reviewsCount() | There is no support in JQL Search Extensions Cloud | 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](https://confluence.atlassian.com/jirasoftwareserver/advanced-searching-development-fields-reference-973491363.html) |
| allIssuesInEpic(jql-query or issuekey) | function `childrenOfEpicsInQuery()` |  |
| epicOf(jql-query) | function `epicsOfChildrenInQuery()` |  |
| `userMatch` | No direct cloud equivalent |  |

See the full list of Cloud JQL extensions with examples: [JQL functions and keywords reference](https://appfire.atlassian.net/wiki/spaces/JQLSEARCH/pages/604209395).