Migrate to Isolated Cloud using JCMA
You can migrate from ScriptRunner for Jira Data Center to ScriptRunner for Jira Isolated Cloud using the Jira Cloud Migration Assistant (JCMA). This can be part of your normal migration journey from Data Center to Isolated Cloud.
Prerequisites
Before starting your migration, ensure the following are in place:
- ScriptRunner for Jira Isolated Cloud is installed on your Isolated Cloud instance.
- You are running ScriptRunner for Jira Data Center version 9.32.0, or 10.18.0, and above on your source instance. Migration to Isolated Cloud is not supported on ScriptRunner Data Center versions 8.x or earlier 9.x releases.
- You have backed up your Data Center environment, including all scripts and configurations.
- You have reviewed your existing scripts and have a plan for converting them to TypeScript.
How the migration works
When you run a migration using JCMA, ScriptRunner participates automatically; there is no separate ScriptRunner-specific migration step. JCMA copies supported ScriptRunner configurations from your Data Center instance to your Isolated Cloud instance.
All migrated scripts are copied across in a deactivated state, with their Groovy code commented out. This means your Isolated Cloud instance will not be disrupted during migration, and you can convert and reactivate each script at your own pace.
For full instructions on running a migration with JCMA, follow Atlassian's JCMA migration guide.
What is migrated
| Feature | Migrated with JCMA | Notes |
|---|---|---|
| Custom script listeners | ✅ Yes | Copied across, deactivated, code commented out |
| Custom script fields | ✅ Yes | Copied across, deactivated, code commented out |
| Custom script workflow post functions | ✅ Yes | Copied across, deactivated, code commented out |
| Custom script workflow validators | ✅ Yes | Copied across, deactivated, code commented out |
| Custom script workflow conditions | ✅ Yes | Copied across, deactivated, code commented out |
| Behaviours | ✅ Yes | Behaviour structure and project/issue type mappings are migrated. Script code within behaviours is commented out. |
What is not migrated
The following ScriptRunner features and configurations are not migrated by JCMA and will need to be recreated manually, or may not have an equivalent in ScriptRunner for Jira Isolated Cloud:
- All built-in scripts (non-custom scripted features)
- Picker fields (e.g. User Picker, Issue Picker)
- Simple scripted conditions (built-in, non-custom)
- Simple scripted validators (built-in, non-custom)
- Scheduled jobs and escalation services
- Script fragments and REST endpoints
- Any other ScriptRunner feature not listed in the What is migrated table above
You can migrate from ScriptRunner for Jira Data Center to ScriptRunner for Jira Isolated using the Jira cloud Migration Assistant (JCMA). This can be part of your normal migration journey from Data Center to Cloud.
Post-migration steps
After JCMA completes the migration, you will need to manually convert and reactivate your scripts. Because ScriptRunner for Jira Isolated Cloud runs on Forge, all scripts must be written in TypeScript as Groovy is not supported.
Once custom script fields, listeners, or workflow functions have been migrated, subsequent JCMA migrations will not overwrite them. If you need to re-migrate these items, delete them from the Isolated Cloud instance before running another migration.
Resources
- Jira Cloud Migration Assistant (JCMA)
- Atlassian JCMA migration guide: Step-by-step JCMA instructions.
- ScriptRunner Migration Suite: A suite of tools designed to help you migrate from ScriptRunner for Jira Data Center to ScriptRunner for Jira Cloud. While not specifically built for this Isolated Cloud ScriptRunner product, the tools can still be useful during your migration journey:
- Migration Analyse and Assess Tool: Review your Data Center scripts for cloud readiness and identify potential issues before migration.
- ScriptRunner Migration Agent: AI-powered assistant for converting and optimising scripts. Note that script conversion suggestions will target ScriptRunner for Jira Cloud (Groovy), not TypeScript for Isolated Cloud.