This page includes release notes and updates about the app migration platform for individuals who develop migration paths to move app data from server/data center to cloud.
Use this page to keep track of new or updated features, deprecations, and bug fixes.
Read our docs on getting support through the right channel.
🛠️ Scheduled maintenance window from September 25 @ 5PM PST to Monday, September 28 @ 10AM, AEST
Our support portal is moving to a new home. New ticket submissions and ticket access including comments via email will be unavailable during this window. Starting September 28, submit all requests at Atlassian Support and update your bookmarks. Learn what's changing.
A new RFC is ready for review at https://community.developer.atlassian.com/t/rfc-147-app-custom-migration-progress/102702.
A new RFC is ready for review at https://community.developer.atlassian.com/t/rfc-142-confluence-migration-content-index-for-macros/102090 .
What's changing
Forge now supports offline impersonation for Jira Service Management (JSM) portal-only users. This follows our June 12, 2026 release of online impersonation support.
You can now use asUser(accountId) to make asynchronous or background API calls on behalf of portal-only users (also known as customer accounts). For apps using Forge remotes, offline impersonation is supported via the offlineUserAuthToken mutation.
This allows your apps to perform background actions, such as processing data or updating requests, in the context of the portal-only user, while maintaining the appropriate permission checks.
Note that portal-only users can only make asUser() calls to Jira/JSM APIs using corresponding scopes declared in the manifest file.
What you need to do
To use offline impersonation for portal-only users in your app:
Ensure your app has the required scopes declared in the manifest.
Use the asUser(accountId) method in your backend code to call product APIs.
If you are using Forge remotes, implement the offlineUserAuthToken mutation to obtain the necessary credentials.
Redeploy your app to apply these changes.
For more information on how Forge handles access for unlicensed users, see our documentation.
Previous changelog release for online impersonation: https://developer.atlassian.com/platform/forge/changelog/#CHANGE-3278
Reference docs for implementation of offline impersonation in Forge:
What's changing
As of JCMA 1.14.0, the mappings exporter is in preview and available for customer migrations.
The mappings exporter generates a mapping file during the migration process. This allows your cloud app to download all necessary mappings in a single API call, rather than constructing them through multiple individual mapping API requests.
This preview release also introduces support for:
Connect apps
Migration reruns
Triggering app migrations
Entity type filtering, allowing you to receive only the specific mappings your app requires
What you need to do
To begin testing the mappings exporter or to enable it for your customers, contact Atlassian via the app migration support channel.
Review the simplified app migration documentation for implementation details.
Refer to the mapping file specification for details on the file format and structure.
Preview feature: The App Migration Platform will now allow apps to access restricted spaces in confluence associated with the migration.
The app migration platform will now automatically detect the correct migration listener to invoke if multiple are defined. This can be useful for defining different migration paths to different environments (i.e. commercial, isolated cloud and AGC) or if you would like to support migrations to one or more cloud apps.
To find out more, our documentation is available here
Forge apps can now make API calls on behalf of JSM portal-only users. JSM portal-only users (also called customer account users) are customers who access your service desk through the JSM portal but don't have a full Atlassian account.
With this release, asUser() in Forge now works for customer accounts from both the frontend and the backend.
Apps can now perform actions like creating customer requests, reading comments, and updating tickets in the context of the portal-only user, with full permission checks preserved, exactly as they would be for a standard Atlassian account user.
The changes will be reflected upon redeployment of the Forge app.
This change only affects online user impersonation, for offline user impersonation we have a feature request being evaluated here: https://jira.atlassian.com/browse/ECO-1585
KB Article search & view endpoints are now supported for Forge apps for customer account users / unlicensed users
We have added Forge OAuthScope support for the endpoint /rest/servicedeskapi/knowledgebase/article/view/{pageId}. If your manifest has
1
2
3
4
permissions:
scopes:
- read:servicedesk-request
- read:knowledgebase:jira-service-managementthen Forge apps should fetch contents of the article(page) for portal customers.
What’s changing
We’ve introduced a new paginated endpoint to retrieve uploaded file metadata. This change helps reduce memory usage when handling large amounts of data during migrations.
Forge remote apps can now use the new endpoint: /app/migration/forge/v1/data/{transferId}/page.
Forge functions can now use the migration.getAppDataIterator method, available in @forge/api version 7.2.0 or greater.
We will announce the deprecation of the /all endpoint at a later date.
What you need to do
If your app handles large volumes of migration data, we recommend updating your implementation to use the new paginated methods:
For Forge remote apps: Update your requests to use the new paginated endpoint.
For Forge functions: Ensure you are using @forge/api version 7.2.0 or higher and migrate to migration.getAppDataIterator.
To reflect that Forge SQL & KVS Migrations are now suitable for use in production, the features have moved from Early Access to Preview status. Learn more at https://developer.atlassian.com/platform/app-migration/forge-storage/data-planes/
The Forge migration timeout logic for now uses a 15-minute sliding window from the last event status change (instead of 15 minutes from when the event was created). See https://developer.atlassian.com/platform/app-migration/report-progress-for-forge/ for more information.
We have increased the maximum file size for individual files uploaded during app data export to Forge from 16 MB to 256 MB. For more information, see the app data export documentation.
Starting JCMA version 1.12.50, Jira workflow rules can now be migrated through the P2 to Forge migration path.
Learn more about migrating workflow rules here
We now support Forge remotes in App migration platform addressing https://jira.atlassian.com/browse/MIG-2452 . This means you can call our APIs from a Forge remote.
Refer to https://developer.atlassian.com/platform/app-migration/rest/v2/intro/#about for the APIs available and https://developer.atlassian.com/platform/forge/remote/calling-product-apis/#calling-atlassian-app-apis-from-a-remote on how to call Atlassian APIs
Example:
1
2
3
4
5
6
7
8
9
curl --request POST \
--url 'https://api.atlassian.com/app/migration/forge/v1/message/{transferId}/status' \
--header 'Content-Type: application/json' \
--data '{
"status": "SUCCESS",
"messageIds": [
"<string>"
]
}'Note our base url is https://api.atlassian.com/app/migration/forge/v1/
Rate this page: