We’re renaming ‘products’ to ‘apps’

Atlassian 'products’ are now ‘apps’. You may see both terms used across our documentation as we roll out this terminology change. Here’s why we’re making this change

Getting started with Portfolio insights: Migration scopes

What is Portfolio insights: Migration scopes?

Portfolio insights: Migration scopes is an app built by Atlassian to make migrations easier. It guides you through the process of exporting key data from your data center Jira instance, which you can then submit to Atlassian for further processing. As a result, you will receive recommendations for optimal migration scopes to help you move from DC to Cloud more easily. You can then use these recommendations in the Jira Cloud Migration Assistant (JCMA).

How it works

The process of creating migrations scopes using this app is made up of three key steps:

  1. You export data from your DC instance using the app and submit it to Atlassian. The data is pseudonymized during the export process.

  2. Atlassian uses the data to create recommended migration scopes.

  3. We send you migration recommendations which you can then review and use in JCMA.

Getting started

We recommend that you install this app on your staging environment, which should be an exact copy of your production environment.

To start using the app, install it from the Atlassian Marketplace. The app doesn’t have a GUI, so you have to interact with it via a REST API. You can use Atlassian’s REST API browser under System → REST API Browser, a third-party application, or curl the instance directly.

For all the app endpoints, add the following base URL at the beginning, replacing {instance-url} with your instance’s base URL: {instance-url}/rest/assessment/1.0.

Running an extraction

POST /extract

Initiates a new instance assessment extraction.

Response:

{ "extractId": "string", "status": "IN_PROGRESS", "completedDate": "" }

Canceling an extraction

POST /extract/{extractId}/cancel

Cancels an in-progress extraction.

Path parameters:

  • extractId (string, required) - Unique identifier of the extraction to cancel

Response:

{ "extractId": "string", "status": "IN_PROGRESS", "completedDate": "" }

Deleting an extraction

DELETE /extract/{extractId}

Removes the extraction files and optionally the extraction record.

Path parameters:

  • extractId (string, required) - The unique identifier of the extraction to delete

Query parameters:

  • mode (string, optional) - Removal mode. Default: FILES_ONLY

    • FILES_ONLY - Remove only the extracted files

    • COMPLETE_REMOVAL - Remove the extraction record and all files

Response:

{ "extractId": "string", "filesRemoved": 42, "totalFiles": 50, "mode": "FILES_ONLY" }

Downloading extraction results

GET /extract/{extractId}/download

Downloads the extraction results as a ZIP file.

Path parameters:

  • extractId (string, required) - The unique identifier of the extraction to download

Headers:

  • Accept: application/zip

Response:

  • Content-Type: application/zip

  • Content-Disposition: attachment; filename=migration-assessments-YYYY-MM-DD.zip

  • Body: ZIP file containing the extraction results

Getting extraction status

GET /extract/{extractId}/status

Retrieves the current status and progress of an extraction operation.

Path parameters:

  • extractId (string, required) - The unique identifier of the extraction

Response:

{ "extractId": "string", "status": "IN_PROGRESS", "progress": 75, "startTime": "2024-01-15T10:30:00Z", "statusChangeTime": "2024-01-15T10:35:00Z", "compressing": false }

Response fields:

  • extractId - Unique identifier for the extraction

  • status - Current status

  • progress - Completion percentage (0-100)

  • startTime - When the extraction was initiated (ISO 8601 format)

  • statusChangeTime - When the status last changed (ISO 8601 format)

  • compressing - Whether the extraction is currently in the compression phase

Status values:

  • IN_PROGRESS - Extraction is currently running

  • COMPLETE - Extraction completed successfully

  • CANCELED - Extraction was cancelled

  • ERROR - Extraction failed with an error

Listing all extractions

GET /extract

Lists all extraction operations that have been performed.

Response:

{ "extracts": [ { "extractId": "string", "nodeId": "string", "startTime": "2024-01-15T10:30:00Z", "statusChangeTime": "2024-01-15T10:35:00Z", "status": "COMPLETE", "filesRemoved": false, "removedByUser": "admin", "removedTimestamp": "2024-01-15T11:00:00Z" } ] }

 

Sharing your data with Atlassian

Once the extraction is finished, download the ZIP file with the assessment results and upload it to your MOVE ticket. You will also have to communicate your chosen principal nodes, for example a list of project IDs, with respect to which Atlassian will run the data processing and scoping.

Using the recommendations

You can use the recommendations by uploading them to JCMA. See the JCMA documentation for more information.

Data handling and security

Extraction

The app doesn’t extract any user-generated content (UGC) or personal information (PI).

Once installed, the Portfolio insights: Migration scopes app extracts pertinent data. Sensitive elements, such as user names, are pseudonymized using SHA-256 to maintain privacy and security.

The pseudonymized data isn’t automatically shared with Atlassian. Instead, it’s stored as CSV files in the home directory of your DC instance. You need to send the files to Atlassian yourself for us to have access to them.

Scope

The app extracts the following data:

  • Relations between objects, such as

    • projects

    • issues

    • comments

    • users, groups and roles

    • configuration items (custom fields, workflows)

    • attachments

  • Object metadata

    • attachment size

  • Aggregated view of objects

    • number of users and groups

    • number of issues and projects

    • number of comments and attachments

    • number of custom fields and workflows

Processing

The raw data you submit to us, as well as the results of its processing, will be used only to produce a report, which will help you with migration planning, and to further improve our algorithm.

Your raw data or the results of its processing won’t be shared with other customers, used for analytical queries, targeting marketing campaigns, training AI models, or anything other than creating your migration scopes recommendations.

Still need help?

The Atlassian Community is here for you.