Migrate to Cloud Using the ScriptRunner Migration Suite

This page will help you plan and accomplish your migration from Data Center to Cloud, using the ScriptRunner Migration Suite. The following steps of a migration plan are outlined for you, including links to resources from Atlassian, ScriptRunner, and the SMS: 

Additionally, check out the FAQ: Migration and SMS nested under this page.

Tool information

As a reminder, the ScriptRunner Migration Suite is made up of three tools: 

  • ScriptRunner Migration Analyse and Assess Tool: A tool to analyse your current instance. Upload an export of your scripts and receive a full readiness report, including Cloud alternatives and rewrite guidance for every configuration in your instance.
  • ScriptRunner Migration Agent: An AI assistant loaded with migration knowledge. Ask it questions about platform differences, script rewrites, and migration planning at any stage of the process.
  • ScriptRunner Dev and Deployment Tool: A standalone tool that lets you store your rewritten scripts in a code repository and deploy them to ScriptRunner Cloud without manually recreating each configuration in the UI.

We will also use the Script Registry from ScriptRunner for Jira Data Center that gives you an export of your scripts and configurations to use with the Assess and Analyse tool. 

Before you start

Before you start your migration, review Atlassian's Cloud Migration Guide and prepare our Jira instance according to Atlassian's recommendations. You can also review the full ScriptRunner for Jira Migration Guide for Cloud.

Important takeaways about differences

  • A different scripting model: Scripts in Jira Cloud do not execute within the same process as Jira DC and so must interact with Jira using the REST APIs rather than the JAVA APIs. 
  • Feature parity: ScriptRunner for Jira Cloud does not have the same feature set as the Server/Data Center version. You can learn about the parity for each individual ScriptRunner for Server/Data Center feature in our Feature Parity table. We also provide details on workaround script/function alternatives where there is currently no parity with Cloud.
  • JQL differencesCustom JQL functions written for Data Center cannot be ported directly — they must be reimplemented as Enhanced Search keywords in ScriptRunner for Jira Cloud. Learn more here.

rocket How SMS can help

If you have a question about any of these differences, you can ask ScriptRunner Migration Agent! For example, you can ask things like: 

"Which ScriptRunner features work differently in Cloud?"

"What is Enhanced Search and how does it replace my JQL functions?"

"What do I need to rewrite when moving to Cloud?"

These are just two examples of what you can ask the Migration Agent. It's loaded with content to help you understand the difference between platforms and how to prepare for your migration.

Review the Best Practices for the Migration Agent to get the most accurate responses from the agent.

If you want the Migration Agent to generate an overview of platform differences, select Platform Differences on the Migration Agent's homepage: 

Install ScriptRunner for Jira Cloud

Skip this step if you have already installed!

Install ScriptRunner for Jira Cloud as described on our Installation page.  

Prepare your instance

You are ready to start preparing your instance! 

Back up your instance 

Back up your current DC environment, including all scripts and configurations. 

Export your scripts using Script Registry

Do you need an upgrade before you migrate?

Before migrating, ensure you're using ScriptRunner for Jira DC version 8.18.0 or above. This version added the Export option to the Script Registry. Earlier versions do not support this export format.

Use the Script Registry feature in ScriptRunner for Jira Data Center to export all scripts and configurations of your instance that you want to migrate to your Cloud instance. You will need this to use the ScriptRunner Migration Analyse and Assess Tool in the next step. 

Review your scripts

Before rewriting anything, review your exported scripts and decide what is still needed. Data Center instances often accumulate legacy scripts, duplicates, or configurations tied to deprecated workflows over time. Removing or consolidating these now means less work in the rewrite phase and a cleaner Cloud instance. Use the Audit Your Jira Instance Using ScriptRunner for a checklist that guides you through auditing parts of your instance.

Create your migration plan

With the insights gained from reviewing and evaluating your scripts, develop a comprehensive migration plan. This plan should include:

  • Timelines: Set realistic timelines for each phase of the migration, considering the complexity of script preparation and rewriting. This is typically the most time-consuming phase.

    ScriptRunner Enhanced Search initial synchronization estimate

    After installing ScriptRunner for Jira Cloud, an initial synchronisation is required before Enhanced Search results are accurate. This can take several days depending on instance size. Factor this time into your migration plan before your go-live date. Check out our Enhanced Search documentation for more details.

  • Resources: Identify and allocate the necessary resources including personnel, tools, and budget to support the migration process.
  • Responsibilities: Clearly define roles and responsibilities for all stakeholders involved in the migration to ensure accountability and smooth execution.

rocket How SMS can help

The ScriptRunner Migration Agent can help you create a migration plan!

Ask, "What questions should I ask myself to create a detailed migration plan?" for a detailed, instance-specific list of planning questions. 

Rewrite your scripts

Migration from Scriptrunner for Jira DC to ScriptRunner for Jira Cloud requires your scripts to be rewritten because the APIs and programming models differ significantly between Jira Data Center and Jira Cloud.

See our detailed guide on Rewriting Scripts for Cloud for examples.

rocket How SMS can help

The SMS is built for this! Before you get started, make sure you have that export using Script Registry that you created after auditing your instance.

Rewrite a specific script

The ScriptRunner Migration Agent can rewrite scripts for you!

Ask something like "Rewrite this script that I used in ScriptRunner for Jira Data Center to use in ScriptRunner for Jira Cloud." and paste in your script.

The Migration Agent will rewrite the script for you to use in your Cloud instance. It will also provide an explanation and further steps that should be taken with the script.

Do you have a specific questions about a script or want to analyze a single script? Ask the Migration Agent!

Analyze all scripts or one script in your instance

Follow the steps on the Use the Analyse and Assess Tool page to upload and analyze your scripts. In the analysis, you receive: 

  • A readiness report: Scripts and configurations are grouped by features (listeners, workflows, etc.) and individual configurations.
  • Cloud pointers: When there is no parity for Cloud, you can see what alternatives exist, including links and identifiers for Cloud options (like HAPI or REST endpoints). Using these pointers, you can start rewriting with concrete next steps.

Migrate your data

It's time to migrate your data into your Cloud instance! You can migrate your data either manually, or by using the Jira Cloud Migration Assistant (JCMA) or the ScriptRunner Dev and Deployment Tool. The right approach depends on your instance size and how much manual effort you want to invest.

Manually migrate ScriptRunner

Recreate all your custom scripts and scriptrunner configurations in ScriptRunner for Jira Cloud. This approach is best for smaller instances with a manageable number of configurations. 

Consult the Platform Differences between ScriptRunner for Jira Server/DC and Jira Cloud and Feature Parity and Script Alternatives documentation during this process to address any Cloud-specific considerations.

Migrate ScriptRunner with Jira Cloud Migration Assistant

JCMA is partially automated, but many items still require manual recreation, like recreating built-in feature configurations, behaviours, and fragments. This approach is best for when you are already using the JCMA for your broader Jira migration.

To find out what JCMA can migrate automatically and what requires manual intervention, please visit the JCMA section of the Migration Checklist.

rocket How SMS helps: Migrate with the Dev and Deployment Tool

SMS adds a third option for you with the Dev and Deployment Tool! Use this tool to organize and deploy ScriptRunner Cloud scripts. It is focused on making it easier and faster for consultants and developers to migrate, test, and deploy scripts from ScriptRunner DC to Cloud. This approach is best for larger instances or teams who want repeatable, version-controlled deployments.

The Dev and Deployment Tool gives you a place to save your script code and their configurations and a way to deploy that code to ScriptRunner in your Atlassian Cloud site without having to manually point-and-click through the UI. This is helpful if you have a lot of scripts, particularly if you want to test them in a separate instance before deploying them to production.

Please visit Use the Dev and Deployment Tool to learn how to clone the public repository and follow the README to configure and run the tooling.

Background knowledge

To use the Dev and Deployment Tool, we assume you can do a few fairly technical things:

  • Use Git, at least a little, to manage code. It's totally fine if you use tools like SourceTree or your IDE to make this easier for you.
  • Run commands using an IDE like IntelliJ IDEA or via a terminal or command line. We'll tell you which commands. 

The Dev and Deployment Tool works by running Gradle tasks to send your script code and configurations to ScriptRunner Cloud. You don't need to know anything about Gradle or how it works to use the tool, as long as you can run the commands described in the documentation here.

As always, you can ask questions about the migration process to the ScriptRunner Migration Agent.

Test your data

Make sure all testing is completed in a staging environment. 

Ensure the initial sync has completed before testing. 

Make sure to test the full behavior of each migrated component, not just that scripts run without errors. Test the following: 

  • Verify that listeners fire on the correct events
  • Workflow post-functions and conditions behave as expected
  • Behaviours apply correctly on the right screens
  • Scheduled jobs run on time
  • Enhanced Search returns accurate results

rocket How SMS can help

Once you determine what you want to test, the ScriptRunner Migration Agent can help you test your new instance out. 

Describe what a script does and ask, "What test cases should I write to validate this script has migrated correctly?" for tailored test case suggestions.

Train your team 

The next step is to train your team!

Admins

Make sure your Jira admins are familiar with the ScriptRunner for Jira Cloud interface and the differences in how scripts are written and managed. Refer them to the ScriptRunner for Jira Cloud training to get started. 

End users

Users who write JQL queries are most affected by the move to Enhanced Search. Provide training on the new keyword-based syntax and make sure they know who to contact if a previously working query no longer behaves as expected.

rocket How SMS can help

The ScriptRunner Migration Agent can help you create a plan and materials to help train your team.

Ask "Can you help me create training materials and a communication plan for my team's migration to Jira Cloud?" for audience-specific training content and communication templates.

Go live 

After thorough testing and team training, you're ready to go live with your migrated ScriptRunner for Jira Cloud instance. Before cutting over, make sure to: 

  • Notify all users of the migration date and what to expect.
  • Agree on a rollback plan. Document the conditions that would trigger a rollback and confirm how quickly your Data Center environment can be restored if needed.

Once live, monitor the performance of your instance and your scripts. Keep an eye out for any unexpected behaviors in workflows, searches, and scheduled jobs. Encourage your team members or admins to report any issues promptly. 

Data Center banner messaging

If your Data Center instance is still live, consider adding a banner message to redirect users that navigate there instead of your new Cloud instance. 

Need help? 

If you have a question, try asking ScriptRunner Migration Agent! It can help with any migration question at any stage of the process. If you need further help, please reach out to support for assistance! 

On this page