Last updated Nov 8, 2023

Trigger an app migration

This page talks about how you can trigger your app migration, starting from JCMA 1.9.8 and CCMA 3.4.8.

This is a very convenient feature to enable integration tests without depending on information listed on Marketplace.

This method offers the following advantages:

  • You only need to create one plan and trigger it as many times as required.
  • You can trigger the app migration using testing tools like Postman or command-line, without having to run a fresh migration from the Cloud Migration Assistant user interface each time you want to test the app migration.

How to trigger the app migration

After you have run a migration plan in your assistant (like selecting a cloud instance and entities to migrate), trigger the app migration using the following URL: rest/migration/latest/app-migration/trigger/<planId>. This operation can be repeated multiple times as required, and it will invoke all the migration listeners found in the instance.

Replace planId with your own unique planID. You can find your planId in the URL when you view the plan details.

See an example for Confluence

The following is an example of a URL where the planId is e508b1f0-364d-4a0f-8c66-198ac67b2a2b.

curl -u admin:admin -X GET "http://localhost:1990/confluence/rest/migration/latest/app-migration/trigger/e508b1f0-364d-4a0f-8c66-198ac67b2a2b"

Restricting the scope

Starting from JCMA 1.9.8 and CCMA 3.4.8, you can select which apps to trigger. To achieve that, simply send a POST request to the /app-migration/trigger endpoint with a payload like this one:

  "includeServerAppKeys": [

The following command is equivalent to the one on the previous section, however limiting the scope to a single app with the key

curl -v -u admin:admin "http://localhost:1990/confluence/rest/migration/latest/app-migration/trigger/e508b1f0-364d-4a0f-8c66-198ac67b2a2b" -H "Accept: application/json" -H "Content-Type: application/json" -d "{\"includeServerAppKeys\":[\"\"]}"


  • The trigger method explained on this page will not re-migrate product-related data (projects, spaces, users, etc) that were originally migrated.
  • The lifespan of the original mapping (when the plan was first run) won't be affected by additional app migration runs.
  • The rest/migration/latest/app-migration/trigger/<planId> endpoint simply creates new transfers and invokes all the local listeners each time it is triggered.

Rate this page: