Migrating from Jira Server / Data Center to Jira Cloud

This article explains the steps required when migrating a Jira Server or Data Center instance to Jira Cloud when you were using JMWE workflow extensions on your Jira Server instance. 

Background:

Because of the way Atlassian's Connect framework is implemented, workflow extensions (validators, conditions and post-functions) provided by add-ons are incompatible between JIRA Server and JIRA Cloud. The entire JMWE configuration is contained within the workflows themselves. So you need to take a backup of your entire JIRA Server instance, identify the workflows and transitions that use JMWE workflow extensions, and fix them.

Challenges

Workflows using JMWE post-functions/conditions/validators in the Server will break on the Cloud because post-function configurations are incompatible with their Cloud equivalents.

  • Some workflow extensions are unavailable in the Cloud and hence they need to be removed
  • Some workflow extensions need to be completely recreated looking at their equivalents in the Server, followed by deleting the existing one in the Cloud
  • Some workflow extensions might be Run as a specific user which fail to reflect the user in the Run as section after the import. You will have to identify them, edit them and add the user in the configuration looking at the Server.
  • Some workflow extensions might use Groovy scripts either to execute the post-function conditionally or set a field value or comment an issue. Wherever you use Groovy scripts, write its equivalent Nunjucks template (in post-functions) or Jira expressions (in Conditions and Validators). You can test your Nunjucks scripts using the Nunjucks tester. Examples: 
  • Because of architectural differences between Jira Server and Jira Cloud, post-functions on Jira Cloud run asynchronously. This has two consequences:
    • You cannot rely on the order of execution of JMWE post-functions based on their position in the list of post-functions (unless you group post-functions in a "Sequence of post-functions" post-function)
    • Post-functions run after the transition completes, and thus after the issue is refreshed in the browser. Unless you take advantage of View Issue Page Actions, the result of post-functions will not be visible until you manually refresh the issue view page.

Missing features

Some features of workflow extensions mentioned below are unavailable in the Cloud. 

Migrating workflows