Application Assessment in Jira Server won't finish

Hi,

I’m trying to test the migration from my local Jira-server to my Jira on the dev cloud bundle site. Otherwise the assessment passes, however, the last screen (“Agree”) won’t pass.

It says “This app does not have automated migration path” and “Policy Details” stay blank. The “Done”-button stays disabled so I can’t confirm the assessment and thus can’t do a test migration.

I think I’ve pretty much done all that’s expected in the Getting Started-documentation for the migration, such as:

  • Added com.atlassian.jira.migration.app-migration.feature to SiteDarkFeatures-page
  • Implemented a CloudMigrationListenerV1 component and for this I do see from the log output that it does get instantiated.
  • Implemented the migration callback webhook to my cloud-backend.

During the App Assessment I am able to select my dev-site and it does detect app installed in cloud.

Here is snapshot of the “Install”-page from App Assessment:

But then the final page has this:


and it won’t let me mark the assessment as “Done”.

What else would I need to do to get the last page of the assessment pass? I don’t think I did anything more with Confluence either and there the assessment passes fine. Hmm… anything specific needed for the Marketplace Migration Data via the corresponding API? I think we should have all required stuff there.

Running Jira Server 8.16.0 and JCMA 1.5.3

Hi @PetriJuhaniRiipinen,

For testing you can also use the migration-assistant.app-migration.dev-mode dark feature flag in JCMA. It should be in the latest release (documentation update is coming.)

On the first page of App Assessment, you need to have every App with a defined choice other than No Decision Made (Needed in Cloud/Not needed in cloud/Use alternative). There’s a percentage indicator as well at the bottom of that page. Once it’s green and at 100% you should be able to click the Done button on the final screen.

There’s a mouse over highlight as well that says

You mush finish assessing, installing and consenting before proceeding.

I usually find I forget the assessing part.

Let me know how it goes.

Regards,
James.

Hi @jrichards

Ok, now I managed to do it. The problem was actually with the other app, as in addition to Gliffy, there was some “Advanced Roadmaps for Jira” also in the Assessment list and if I leave it as “No decision made”, then I can’t finish the assessment. But if I change it to “Not needed in cloud”, then I get the “100% Complete 2 of 2 apps assessed” and I can finish the assessment process.

  • Petri
1 Like

@jrichards,

Well, rejoiced too early it seems. Assessment went through now fine, but migration won’t show Gliffy as possible apps for migration. See the figure below:
image

I don’t know what else to do, I did mark Gliffy as “Needed in Cloud” and my Cloud Bundle-site definitely has Gliffy installed. I’m guessing the problem is that no “automated migration path” exists, but not sure how can I bypass that. Certainly there is no “Automated Migration Path” as I’m just investigating on whether we need to do customisation or not. This didn’t seem to be a problem with Confluence Server, even though the situation wrt “automated migration path” was similar with it.

I did add the “migration-assistant.app-migration.dev-mode”-feature as per your advice but it doesn’t seem to help.

  • Petri

Hi @PetriJuhaniRiipinen,

For

migration-assistant.app-migration.dev-mode

It will skip the pre-flight checks when running a migration. It doesn’t change the UI very much.

The challenge here is to make sure the server and cloud app keys are defined correctly in the listener in the server app, and the cloud app has the correct key. We do a lot of matching to ensure the right data goes to the correct destination.

Let me check with the team and get back to you tomorrow about what else might be missing.

Regards,
James.

Hi @jrichards ,

Well, in the Server-side they key is: image

And in the Cloud-side the key is: image

In my Server-side CloudMigrationListenerV1-implementation the keys are defined as:

    private static final String SERVER_APP_KEY = "com.gliffy.integration.jira";
    private static final String CLOUD_APP_KEY = "com.gliffy.integration.jira";

    @Override
    public String getCloudAppKey() {
        return CLOUD_APP_KEY;
    }

    @Override
    public String getServerAppKey() {
        return SERVER_APP_KEY;
    }

Regards,

  • Petri

Hi @PetriJuhaniRiipinen,

JCMA allows only those apps to migrate that have automatic path. However, CCMA is more flexible at present, this will change in near future, and CCMA will also strictly allow only those apps that have Automatic path.

If an app has an automatic path or not is derived from the following information:

  1. Installed plugin - key and version
  2. Marketplace information
  3. Listener - serverAppKey, and other information

Read the details here App assessment UI

I do the following checks to ensure that my app qualifies as Automatic:

  1. Make sure that key from plugin should be exactly same as key from getServerAppKey. You have done this
  2. Migration information(https://developer.atlassian.com/platform/marketplace/rest/v2/api-group-migrations/#api-addons-addonkey-migration-put) is correct in Marketplace. I believe your app is missing “cloudMigrationAssistantCompatibility” value.
  3. Installed plugin’s version on server should be equal or higher to the value mentioned in the above attribute

Note the followings:

  1. Once you update this information on Marketplace, it may take upto an hour to be reflected to all the services.
  2. You can use Dev mode and it should allow you to continue your testing. Actual docs are yet to be published. However, this is similar to CCMA - exactly the same flag.

Even in dark feature mode you can face the above issue, if you are using OSGI library to implement listener. And, you updated/installed JCMA after you installed your App. A simple solution to that is reinstall your App.

Regards,
Anshuman

Hi, @AnshumanTiwari

Ok, I think that cloudMigrationAssistantCompatibility might be the culprit then here. In Marketplace we have published version 6.1.0 of Gliffy for Jira Server. On my local environment I have version set to 6.2.0 for testing the migration.

However, trying go set “cloudMigrationAssistantCompatibility”: “6.2.0” results into this error: “Incorrect version provided for Cloud Migration Assistant Compatibility field”

So how can I test with local version >6.1.0 as 6.1.0 has no automatic migration implementation yet until I’ve investigated what, if any customisation is needed in the migration?

Or is the only solution to provide a value of 6.1.0 to that parameter even if that is not exactly the correct setting AFAIU the meaning of this value?

Regards,

  • Petri

Hi @PetriJuhaniRiipinen.

Here is something I can suggest,

  1. Test your app in dev mode and check the followings:
    a. Listener is getting a call and it is working as expected
    b. Your cloud service is getting expected events
  2. Update the version in Marketplace 6.2.0
  3. Test that it is reflecting on App Assessment correctly and you can do the migration without dark feature on.

Another thing you can do is this:

  1. Set the version to a lower version 6.1.0.
  2. On server, install 6.2.0 that would allow you to do App Assessment, and migration both
  3. After a successful test, update the version on Market place to 6.2.0
  4. Release the App.

Note that since it is EAP, no customer will able to see this until unless they have the flag on. So, I believe for a quick test even second approach should also be fine.

Regards,
Anshuman

Hi @AnshumanTiwari ,

Ok, I did manage to run through the migration and I did get callbacks. While creating the migration, the misleading thing was that Migration assistant said that 0 apps will be migrated. However, when I actually ran the migration, it did show that Gliffy will be migrated after the tickets are migrated without any Marketplace involvement.

And the callbacks were made as expected. So I think I am able to proceed with testing the migration locally.

Regards,

  • Petri
1 Like