-
Type:
Bug
-
Resolution: Duplicate
-
Priority:
Low
-
None
-
Affects Version/s: JCMA - 1.10.13
-
Component/s: Apps - Migration Assistant
-
None
-
5
-
Major
Issue Summary
All the JCMA plans have disappeared from the migration. When navigating to the Migration Dashboard, instead of displaying all the plans, the following error shows up.

This is reproducible on Data Center: ![]()
Steps to Reproduce
- Create a migration plan containing the apps
- Wait for the container token to expire(in 21 days)
- Try to navigate to the JCMA dashboard and it fails to display the plans.
Expected Results
All the plans(including historic ones) should be visible in the Migration Dashboard.
Actual Results
The below exception is thrown in the atlassian-jira.log file:
/rest/migration/latest/plan [c.a.j.m.plan.rest.PlanRepositoryExceptionMapper] Error occurred when working with plans
com.atlassian.jira.migration.plan.rest.FetchPlanListException: Error occurred when trying to fetch plan list
Caused by: com.atlassian.jira.migration.httpclient.exceptions.UnexpectedStatusCodeException: Received an unexpected status code; expected [200], but received 401: {"code":401,"message":"Unauthorized"}
at com.atlassian.jira.migration.httpclient.exceptions.ExceptionsKt.unexpectedStatusCode(Exceptions.kt:7)
at com.atlassian.jira.migration.httpclient.AbstractPluginHttpClient.checkExpectedResponseCode(AbstractPluginHttpClient.kt:213)
at com.atlassian.jira.migration.httpclient.AbstractPluginHttpClient.execute(AbstractPluginHttpClient.kt:72)
at com.atlassian.jira.migration.httpclient.AbstractPluginHttpClient.execute(AbstractPluginHttpClient.kt:60)
at com.atlassian.jira.migration.amsclient.DefaultAppMigrationServiceClient.execute(DefaultAppMigrationServiceClient.kt:483)
at com.atlassian.jira.migration.progress.AppsProgressService.getAppProgressFromAMS(AppsProgressService.kt:171)
at com.atlassian.jira.migration.progress.AppsProgressService.access$getAppProgressFromAMS(AppsProgressService.kt:21)
at com.atlassian.jira.migration.progress.AppsProgressService$appProgressCache$2.invoke$lambda$0(AppsProgressService.kt:42)
at com.atlassian.cache.memory.MemoryCacheManager$2.load(MemoryCacheManager.java:192)
at com.atlassian.cache.memory.DelegatingCache.lambda$get$0(DelegatingCache.java:163)
at com.atlassian.cache.memory.DelegatingCache.lambda$get$1(DelegatingCache.java:191)
Workaround
- Navigate to the JCMA dashboard, then click on 'Migration Assistant Home'. After that, click on 'Prepare Your Apps'. Proceed by clicking the 'Back' button until you reach the section where you need to select 'Choose Cloud Site'. Ensure that all the sites displayed in the drop-downs are authenticated. After authentication of all the sites, the plans should be shown in the dashboard. Refer to the following information on How to renew authentication token for the Cloud Migration Assistant apps (CCMA/JCMA).
- Please follow the below workaround for the plans have been migrated to sites that no longer exist:
- Find all the migrations that have not completed app migrations with a NULL app outcome and join it with the plan table for more information.
SELECT * FROM AO_6FF49D_MIGRATION_ENTITY INNER JOIN AO_6FF49D_PLAN_ENTITY ON AO_6FF49D_MIGRATION_ENTITY.PLAN_ID=AO_6FF49D_PLAN_ENTITY.ID WHERE APP_OUTCOME_JSON IS NULL;
- Update all migrations where you no longer have access to the cloud site with an app outcome for example update to an empty list to ignore the app outcome
UPDATE AO_6FF49D_MIGRATION_ENTITY SET APP_OUTCOME_JSON = '[]' WHERE MIGRATION_ID = '<MIGRATION_ID>';
- Note: This will result in a completed plan without any apps
- Find all the migrations that have not completed app migrations with a NULL app outcome and join it with the plan table for more information.