Confluence has been updated to version 6.15.9

This page describes how you can store advanced groovy scripts outside the Sync Rules processors.

This feature requires a development background, including a good understanding of Groovy, 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.

Introduction

Advanced synchronization scripts usually contain a huge number of code lines. Storing these scripts in the Sync Rules make it hard to maintain.

With a scripts-specific folder outside of the Sync Rules you can have your own scripts library. You can create your own advanced .groovy scripts and add them into the library. Then call the script from the library in the Sync Rules configuration. Exalate will start to pick external files. 

External scripts library location


Jira Server: $JIRA_HOME/scripts

HP ALM/QC: opt/hpqcnode/data/scripts

Externalized scripts provide you an ability to configure a complex synchronization case with a reduced amount of code inside the Sync Rules.

It allows making changes to your Exalate configuration easier and version scripts whenever you need it. You can share/copy the Sync Rules between different Connections.

To get autocompletion for all the variables available in the script and the Jira API (such as com.atlassian.jira.component.ComponentAccessor), configure the IDE to use shared Maven configuration repository.  This helps to improve your scripting experience with Exalate. You can also version your scripts with any major change using version control systems.

Externalized scripts functionality allows to include  following files:

  • sources
    • groovy
    • compiled .class
    • packaged jar
  • resources - plain text and binary resources


The scripts directory must have permissions to write and read directories/files.

Available external scripts

Exalate documentation includes a lot of example scripts containing approaches on how to implement various use cases.  Please note that many of these scripts are used only for example purposes. 

Below you can find a list of available external scripts. 




Script / Usage article link


Purpose

Supported Platforms
1

Versions.groovy

Used to synchronize Versions 

JIRA SERVER

JIRA DATA CENTER

2Components.groovyUsed to synchronize Components

JIRA SERVER

JIRA DATA CENTER

3ExalateEventListener.groovy

The script allows subscribing to Exalate Jira issue events:

  • exalated
  • unexalated
  • updated
  • deleted

JIRA SERVER

JIRA DATA CENTER

4

Status.groovy (Server)

Status.groovy (Cloud)

Used to synchronize Statuses 

JIRA SERVER

JIRA DATA CENTER

JIRA CLOUD

5IssueLinks.groovyUsed to synchronize issue links 

JIRA SERVER

JIRA DATA CENTER

6Move.groovyUsed to move issues automatically 

JIRA SERVER

JIRA DATA CENTER

7CustomFieldSync.groovyUsed to synchronize custom fields 

JIRA SERVER

JIRA DATA CENTER

8SubTask.groovyUsed to synchronize Sub Tasks

JIRA SERVER

JIRA DATA CENTER

9Epic.groovyUsed to synchronize Epics on Jira Server/ Jira Data Center

JIRA SERVER

JIRA DATA CENTER

JIRA CLOUD

10TempoWorkLogSyncUsed to synchronize Tempo Worklogs.

JIRA SERVER

JIRA DATA CENTER

JIRA CLOUD

11

SimpleSprintSync.groovy DEPRECATED

Use how to synchronize sprints on Jira to configure sprints synchronization.

Used to synchronize Sprint field

JIRA SERVER

JIRA DATA CENTER

What's next