Prerequisites
Administrator access to both Jira DC and Jira Cloud instances
Inventory of existing Power Scripts
Knowledge of Script Interface Language (SIL)
Understanding of cloud environment constraints
Review the Jira DC to Cloud script migration reference to learn which scripts will migrate successfully and which scripts will require readjustment.
Migration method
You can use an automated or manual migration method
.
Automated migration
For automated script migration, use a tool such as the Jira Cloud Migration Assistant (JCMA) or the Configuration Manager for Jira (CMJ)
. When using a tool, the following consistencies help ensure script compatibility:
Project and issue type names will be identical between Jira DC and
Jira Cloud. This ensures project keys or issue
type names used directly in scripts will continue to operate after migration.
Custom field names will be identical
between Jira DC and Jira Cloud, but custom field IDs will not be identical.
If SIL aliases were used
, which is a best practice
, you can update the SIL aliases settings in
Power Scripts for Jira Cloud. This way,f the scripts will automatically work with the new
IDs.
If custom field aliases were not used
, the migration is a good opportunity to
start using them.
Status and transition names
will be idetnical between Jira DC and Jira Cloud. This ensures scripts using status names, transition names or
IDs should continue to operate after
migration.
Manual migration
If neither JCMA or CMJ is
used in the migration, scripts can still be migrated by uploading them to the SIL manager or using the Self Help menu and then by configuring them manually.
Script migration process
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Post-migration testing
After the migration, test your scripts by performing a syntax check in the SIL Manager (in Power Scripts for Jira Cloud).
If a script passes the syntax
test, it means
that:
The functions used in the code are compatible between Jira DC and
Jira Cloud.
The syntax of the script it correct.
Custom field
IDs are correct or have been updated in the alias file
.
Note |
---|
Passing the syntax test does not mean |
the script will operate exactly the same way between Jira DC and |
Jira Cloud. |
Some scripts may not
work identically between DC and cloud
environments and can require adjustments due to differences in project names, issue type names, JQL
Note |
---|
We recommend that scripts will need to be tested post migration for the reasons mentioned above. |
Which scripts will migrate from DC to Cloud
Scripts that will need changes when migrating
Conditions and validator scripts
Conditions and validators are written using a language/syntax called Jira Expressions in the cloud. All trulyquerries, or other script-contained information. While using migration tools (JMCA or CMJ) improves the chances of successful scripts migration, these elements may still need to be adjusted to ensure the scripts operate in cloud as expected.
Info |
---|
See the Jira DC to Cloud script migration reference to learn which scripts will migrate from Jira DC to Cloud and which will require adjustment. |
Note |
---|
To avoid issues in the new cloud environment, we recommend testing all scripts after the migration. |
Required post-migration script changes
When migrated between Jira DC and Jira Cloud, the following script types require additional changes: conditions and validator scripts, Live Fields, and Mail handler scripts. In addition, all existing scripted JQL functions/keywords must be updated for Jira Cloud.
Conditions and validator scripts
Jira Cloud uses Jira Expressions language for conditions and validators; scripted conditions and validators are not currently supported in Jira Cloud
. While many users find Jira Expressions challenging and time-intensive to work with, there are alternative approaches. As with other features in Jira Cloud, rather than directly converting scripts and replicating Data Center solutions, consider rethinking your approach. To learn about ways to continue using SIL scripted conditions and validators in Jira Cloud, see this article.
Expand | ||
---|---|---|
| ||
|
Expand | ||||
---|---|---|---|---|
| ||||
|
Live Fields scripts
Live Fields works differently in Jira DC versus Jira Cloud.
In Jira DC | In Jira Cloud |
---|---|
|
|
|
|
|
|
|
|
Because of these differences, all Live Fields scripts
must be converted from SIL to JavaScript when migrating.
Example
Code Block |
---|
//SIL (Data Center)
lfSet("summary", "Value to set");
//JavaScript (Cloud)
getFieldById("summary").setValue("Value to set"); |
Mail handler scripts
The Power Scripts incoming email service
works differently in Jira Cloud than in Data Center. Due to Atlassian’s Cloud architecture, email scripts In Jira Cloud:
Cannot intercept messages sent to your primary Atlassian address (youremail@atlassian.net).
Can only intercept emails going to
an external email accounts, such as Gmail.
Due to the differences in email handling between DC and Cloud, email scripts require different functions in each environment. Existing DC email scripts must be updated to use the new Cloud-compatible functions.
Expand | ||
---|---|---|
| ||
|
Expand | ||
---|---|---|
| ||
|
Scripted JQL functions/keywords
Jira DC and Jira Cloud handle scripted JQL functions/keywords
In Data Center, scripted functions are executed when the search is executed. The SIL script performs its own, separate JQL search for each issue with the script determining if the issue should be included in the search results as each issue is evaluated one-by-one
In Cloud, scripted functions are executed in advanced of the search and the result of the script is stored with the issue. The JQL search uses these precalculated results to determine if the issue should be returned with the search results.
This will change the construction of the script JQL function/keyword in the following ways:
Scripts will not contain their own JQL search in the script
The return statement of the cloud scripts uses additional operations when compared to DC
in fundamentally different ways. This difference stems from Jira's core architecture, not from Power Scripts functionality.
In Jira DC | In Jira Cloud |
---|---|
|
|
These architectural differences require the following changes to JQL script construction for Jira Cloud:
Scripts no longer contain their own JQL searches within their code.
Return statements require additional Cloud-specific operations operations.
JQL scripts in Jira Cloud can update the search values of parent and child issues as well as their own.
Due to these differences, all existing scripted JQL functions/keywords
must be updated to use the new methods in
Script Migration Process/Strategy
Jira Cloud.
Jira DC to Cloud script migration reference
Learn more about which scripts will migrate successfully from Jira DC to Cloud and which scripts will require adjustment.
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Useful tools and scripts for post-migration script adjustment
Include Page | ||||
---|---|---|---|---|
|
Table of contents: