Integration for Server-to-Cloud App Data Migration

Who can use this information?

  1. App vendors who want to allow their customers to move app configuration and data from a Jira Server instance to a Jira Cloud site.

  2. Developers who want to integrate apps with Configuration Manager for Jira (CMJ) for app data and configuration migration purposes.

  3. Jira customers who develop apps for internal usage and want to move app configuration and data from a Jira Server instance to a Jira Cloud site.

 

On this page:

 

Sample app

We’ve developed a sample app and integrated it with the Cloud SPI. It will show you in practice how to make the initial setup and implement a Cloud SPI endpoint. You can find the sample app in our public repository.

Integration for moving app data from Jira Server to Cloud

To allow customers to migrate your server app’s configuration and data to Jira Cloud, you need to integrate:

  • the server app with our Configuration Manager Cloud Migration Tool, and

  • the cloud version of your app with the cloud version of the Configuration Manager for Jira (CMJ) app (also known as CMJ Cloud).

Connect apps

Currently, the integration is available only for Connect apps of Jira Cloud.

This integration happens by implementing app-specific endpoints of our Service Provider Interface (SPI).

The SPI for integrating Connect apps with CMJ Cloud is called Cloud SPI. It pairs with the CMJ Server SPI to provide zero-loss migration of app data between Jira Server/Data Center instances and Jira Cloud sites.

How it works

To provide the migration of your server app’s configuration and data to the cloud, you need to integrate:

This integration happens by implementing a set of endpoints exposed by the Server and Cloud SPI. Vendors' development teams must implement only the server and cloud endpoints specific to their apps.

The SPI provides a collect-and-resolve mechanism, that allows:

  • collecting references to other configuration elements on the source Jira, and

  • resolving them on the Jira Cloud site.

For example, the app data might have references to other workflows, custom fields, filters, etc., on the source Jira instance. The diagram below illustrates the collect-and-resolve process.

 

Implementation steps

This section will guide you through the prerequisites and implementation steps of the Server-to-Cloud app data migration integration type.

High-level phases of implementing SPI

  1. Initial setup of Server SPI: Мake an initial configuration of the Service Provider Interface (SPI).

  2. Implement app-specific Server SPI interfaces: Implement SPI interfaces to support configurations and data specific to your app.

  3. Initial setup of Cloud SPI: make an initial configuration of the Cloud Service Provider Interface (SPI).

  4. Implement app-specific Cloud SPI interfaces: implement a set of Cloud SPI interfaces to support your configuration and data.

  5. Contact our team to add your app to our List of Integrated Apps. The List of Integrated Apps gives users more visibility about the apps' configuration and data they can migrate.

How app data migration from Jira Server/DC to Cloud works with SPI

The migration from server to cloud is achieved with the help of the Configuration Manager Cloud Migration Tool and includes the following steps:

  1. Data is exported from the server via the CMJ Server SPI.

  2. CMJ Cloud looks for the Cloud SPI descriptor file.
    Each app that implements the Cloud SPI must provide a descriptor JSON file that contains data about the available endpoints. Find out how CMJ Cloud finds this JSON

  3. CMJ Cloud looks for a migration path in the endpoints declared in the Cloud SPI descriptor.

  4. If a migration path is found, CMJ Cloud creates a new migration operation and invokes the app REST endpoint that will handle the configuration transfer.

  5. The app may query CMJ Cloud for mapping data and report the progress of the operation via the Cloud Operations API.