JIRA SERVER

Disclaimer

 

To be able to develop advanced synchronization scripts you require a development background and a good understanding of Groovy and the entities of the underlying issue tracker and Exalate itself. 

In case of need, we can provide training and professional services to deliver the solution you're looking for.  Please contact sales@exalate.com for more information.

This article includes groovy scripts that help to synchronize sprints from Jira Server instance to Jira Server instance.

Synchronizing sprints means all sprint information will be exchanged between two instances. 

Pre-requisites: 

  • Source Jira Server Instance
  • Destination Jira Server Instance
  • Connection configured between Jira Server instances.

Description:

We have two Jira Server Instances. The source Jira Server has the project that needs to be synchronized with the destination Jira Server.

JIRA agile board operations that trigger sync (change the custom field values):

  • adding an issue to a sprint 
  • removing an issue from an active or future sprint

JIRA agile board operations that don't trigger sync:

  • starting a sprint 
  • completing a sprint

 

Configuration

Let's consider you already have the connection configured between JIRA Server instances. Now you need to configure Sync Rules to sync sprint.

  1. Configure Sync Rules on both sides (source and destination). 
    Synchronization processors should be configured with the appropriate scripts provided below. 

    Attention!

    We provide scripts for demonstration purposes. Every script needs to be adapted for your specific use case.

    Jira Server (source side)

    Jira Server (destination side)

    Data FilterData Filter 
    Create ProcessorCreate Processor 
    Change Processor

    Change Processor 

    (Version 1.0.0-rc1)

     

    The Create processor contains EXALATE SCRIPT SETTINGS section(at the top) that you need to configure.

    // SETTINGS
    def projectMapping = [
            "REMOTEPROJ":"LOCALPROJ"
    ]
    def issueTypeMapping = [
            "Remote Issue Type 1": "Local Issue Type 1"
    ] as Map<String, String>
    
    def reuseIssue = false
    // END: SETTINGS

     



  2. Create a Trigger on the sending side:
    In the add-on section of your Jira, access the triggers and create a new trigger. Include all issues in your project to be synchronized using the previously created connection. The connection towards the receiving instance (destination JIRA Server). Activate the trigger.

  3. Use Bulk Exalate to synchronize multiple issues at a time.

Exalate is running through all the issues and sending out all the information from the source instance to the destination instance. After a while, all issues will be showing up in the same configuration as on the source Jira Server.

Congratulations! Now you know how to sync sprints on Jira Server using Exalate. 

Note

 If you want to use this script, but you are missing a functionality or would like to get it adapted to your use case, contact us at https://support.idalko.com.