Confluence has been updated to version 6.15.9

JIRA SERVERJIRA CLOUD

This article shows how you can synchronize Epics using external scripts.

Synchronizing Epics and stories, while keeping the parent-child relationship on the remote side is a common use case which is possible to achieve using Exalate.


Epic sync configuration

Let's consider you already have the Connection configured between two JIRA Instances.

Now you need to configure Sync Rules to synchronize Epic information.

Scripts for the Cloud JIRA are different from the Server JIRA scripts.

Please be sure to copy the appropriate scripts.


Sync epics on JIRA Cloud

Outgoing sync 

Add the following code to send the epic information

// Ensure that the Epic is synced first, such that stories sent later can be associated to the right epic
Epic.sendEpicFirst()

Incoming sync 

Add the following code to apply received Epic information to the end of the incoming sync

// should be at the end of the incoming sync  script
Epic.receive()

Sync epics on JIRA Server 

Requires Exalate for Jira Server/DataCenter version 4.5.1 or higher

This example shows the case where epics are synchronized before stories. 

1. Create files from the Exalate public repository 

We store external scripts for Jira Server in a public repository.  Copy the code from the repositories below and create .groovy files. You must keep the filenames as below.

2. Upload the files to $JIRA_HOME/scripts the directory

$JIRA_HOME/scripts directory is located on the server, where you have your Jira instance installed.

If you don't have scripts directory you should create it.


3. Configure Sync Rules with the scripts provided below:

Add the code from the repository accordingly into the bottom of the Sync Rules.


Outgoing sync

Add the following code to send the epic information

// Ensure that the Epic is synced first, such that stories sent later can be associated to the right epic
Epic.sendEpicFirst()

Incoming sync 

Add the following code to apply received Epic information

// Move this to the end of the incoming sync script
Epic.receive()