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:
You export data from your DC instance using the app and submit it to Atlassian. The data is pseudonymized during the export process.
Atlassian uses the data to create recommended migration scopes.
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 filesCOMPLETE_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 extractionstatus
- Current statusprogress
- 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 runningCOMPLETE
- Extraction completed successfullyCANCELED
- Extraction was cancelledERROR
- 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.
Was this helpful?