Cloud to Server migration challenges/limitations
This document lists the things to look out for when migrating JMWE configuration from Cloud to Server
Challenges
Workflows using JMWE post-functions/conditions/validators in the Cloud will break on the Server/Data Center because post-function configurations are incompatible with their Cloud equivalents
Some workflow extensions need to be completely recreated looking at their equivalents in the Cloud, followed by deleting the existing one in the Server/Data Center. Here is a table that lists the workflow extensions of Cloud and their equivalents in Server.
Some post-functions might use Nunjucks templates either to execute the post-function conditionally or set a field value or comment an issue. Wherever you use Nunjucks templates, write its equivalent Groovy script. See Customizing further with Groovy scripts. You can test your script result using the Groovy script tester. Examples: Uncheck/Unselect an option in Nunjucks and Uncheck/Unselect an option in Groovy and Checking the value of a multi-valued field in Nunjucks and Checking the value of a multi-valued field in Groovy. Wherever you use Nunjucks templates on the configuration screen select:
Groovy expression/Groovy template
as Value type in the post-functions that set a field valueGroovy expression/Groovy template
as Comment type in the post-functions that comment an issue
Some conditions/validators might use Jira expressions to write a condition or to build your own condition/validators. Wherever you use Jira expressions write its equivalent Groovy script.
On Jira Cloud, you can execute post-functions as the add-on user, the current user, or any specific user. On Jira Server/Data Center you can either execute it as the current user or any specific user. If your post-functions has option
Run as add-on user
orRun as current user
, Leave it blank to execute it as the current user. If it isRun as a user
select the same user in Jira Server/Data Center.
Missing features:
Some features of workflow extensions mentioned below are unavailable in the Server/Data Center.
Send notifications: In Jira Cloud, post-functions are run after the transition, and transition notifications are not sent. Hence this option was helpful. But in Jira Server post-functions are run within the transition and hence transition notifications are sent. So this option is irrelevant here.
Delayed execution: This option is irrelevant in Jira Server/Data Center because post-functions in Jira Server/Data Center are run synchronously during/as a part of the transition.
Groups exempt feature of “Field has been modified validator: This option is not explicitly present in Server but can be easily recreated using the conditional validation section with a simple Groovy script. For example:
currentUser.isInGroup("jira-administrators")
Copy Comments to linked issue post-function: This post-function is not available in JMWE Server but can be recreated using the “Copy field value to related issues (JMWE app)” to copy the “Comments” field to the related issues
Delete issue, Sequence of Post-functions, Shared Action: These post-functions do not exist in JMWE Server