Jira Cloud Migration Assistant is disabled after updating it to the latest version

Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.

Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles for non-Data Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Problem

After updating the Jira Cloud Migration Assistant, the plugin will not enable.

The following appears in the atlassian-jira.log

2022-03-30 13:08:20,856+0000 ThreadPoolAsyncTaskExecutor::Thread 31 ERROR username 788x192574x2 6tbhsp xxx.xxx.xxx.xxx,xxx.xxx.xxx.xxx,xxx.xxx.xxx.xxx,127.0.0.1 /rest/plugins/1.0/com.atlassian.jira.migration.jira-migration-plugin-key [o.e.g.b.e.i.dependencies.startup.DependencyWaiterApplicationContextExecutor] Unable to create application context for [com.atlassian.jira.migration.jira-migration-plugin], unsatisfied dependencies: none
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'issueExporter' defined in URL [bundle://286.0:1/com/atlassian/jira/migration/export/core/issue/IssueExporter.class]: Unsatisfied dependency expressed through constructor parameter 25; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jsdExportService' defined in OSGi resource[classpath:com/atlassian/jira/migration/config/MainSpringConfiguration.class|bnd.id=286|bnd.sym=com.atlassian.jira.migration.jira-migration-plugin]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.jira.migration.export.servicedesk.service.JsdExportService]: Factory method 'jsdExportService' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceDeskManagerFacade': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.atlassian.jira.migration.export.servicedesk.service.ServiceDeskManagerFacade] from ClassLoader [com.atlassian.jira.migration.jira-migration-plugin [286]]

Diagnosis

Environment

  • Our diagnostic steps will check:
    • Whether multiple versions of JMCA are present
    • Which versions of JMCA are running

Diagnostic Steps

  • Check the Universal Plugin Manager version;
    • This can be done from Manage Apps page
  • Check the version of the JCMA plugin;
  • Verify if it is possible to enable the plugin manually on the UI

    • Navigate to Manage apps > Manage apps;

  • Verify if it is possible to enable the plugin on the database by using the queries below:

    SELECT * FROM pluginstate;
    and
    DELETE FROM pluginstate WHERE pluginkey = ('com.atlassian%');
  • If the steps above do not resolve the issue, please access the following folders:

    • <$JIRA_INSTALLATION>/atlassian-jira/WEB-INF/atlassian-bundled-plugins;
    • <$JIRA_HOME>/plugins/installed-plugins or <$Shared_HOME>/plugins/installed-plugins in Data Center cases;
      • Check the folders for different versions from the latest jira-migration-plugin-x.x.x.jar plugin;
        • We want to verify that no duplicates are present
      • Check the folders for plugins and components of other Jira applications in a very old version;

        • We want to verify that other system plugins are not duplicated.
      • In order to determine if and what plugins are interfering with the JCMA, you'll need to:
        1. Separate the content on the Installed-plugins in different batches (make sure you copy them, preserving the original content);
        2. Stop Jira;
        3. Manually add one of the batches to the Installed-plugins folder;
        4. Restart Jira. 
        5. Check if JCMA is enabled. If so, repeat the steps until you have added all the plugins or found those interfering with JCMA.

We strongly encourage customers to perform the check on a Test environment first before applying it to the Production environment.

Scenario 1: Jira can keep more than one 'jira-migration-xxx.jar' file with different versions, causing then a conflict during the Jira Startup, leading the system to disable the plugin and don't enable it while different versions exist in the folders. 

Scenario 2: Jira can keep very old 'jar' files or other deprecated plugins as well, and they interfere directly with the well functioning of the JCMA. e.g. 'servicedesk-application-x.x.x.jar'.

Workaround

Scenario 1: Delete the other existing versions of the jira-migration-xxx.jar from both Installed-plugins and Bundled-plugins folders mentioned above in this article (paths can variate according to the instances), leaving only the latest one.

Scenario 2: Update the conflicting plugins with the very old version to a suitable version, if they are being used.
If it's not being used, delete the corresponding jar files from the Installed-plugins folder, restart Jira, and the problem should cease.



Last modified on Feb 27, 2025

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.