Confluence has been updated to version 6.15.9


This article describes how to synchronize issue labels. 

Labels field is one of the standard fields. You can synchronize it as any other issue field. Check the label issue field reference. 

Source instance

Outgoing sync 

send them to the destination instance:

replica.labels = issue.labels

Specify the labels which should be sent 

If you want to sync only some of the existing labels, you can specify that directly in the outgoing sync

For example, send only labels starting with pub_ :

replica.labels = issue.labels.findAll { it.label.startsWith("pub_") }

Destination instance 

Incoming sync

Create received labels on the destination side. It helps to create the labels automatically and add them to the label field.

//add all labels from the replica to the synced issue
issue.labels = replica.labels

You can use nodeHelper getLabel in case you want to assign a new label to your issue, depending on the remote issue details.

For example:  if the remote issue has type 'new feature request', label the  issue 'uservoice'

if ( == "New Feature") {
   issue.labels += nodeHelper.getLabel("uservoice")

Syncing labels from GitHub to Jira

GitHub allows to include spaces in the labels, while it's impossible to have ones in Jira.

Please use the following code in the Incoming sync on Jira side to sync labels from GitHub to Jira.

The code helps to transform labels with spaces (received form GitHub) to the Jira required format(without spaces).

issue.labels = replica.labels.collect { it.label = it.label.replace(" ", "_"); it }

Syncing labels on AzureDevOps

Azure DevOps tags are equal to labels in Jira. Note that Azure DevOps uses the semicolon (;) as the tag separator. Therefore you should avoid using this character as part of your label/tag.


Jira label my;label will be synchronized as two separate tags my and label on the Azure DevOps instance.