Confluence has been updated to version 6.15.9

This article shows how to synchronize sprints on Jira. 

Introduction

We've introduced sprint synchronization on Jira Server v.4.7.0 and Jira Cloud v5.1.0.

You can add sync rules to synchronize sprint information. Exalate considers issues and sprints as independent entities. 

Sprint synchronization on Jira Cloud is available only for connections created in scripting mode. 


Configuration

Source side

Outgoing sync

To send the sprint data use the code below  

if(entityType == "sprint"){
   //Executed when syncing a sprint to a remote side
	replica.name = sprint.name
	replica.goal = sprint.goal
	replica.state = sprint.state
	replica.startDate = sprint.startDate
	replica.endDate = sprint.endDate
}
if(entityType == "issue"){
   //Executed when syncing an issue to a remote side
   replica.summary = issue.summary
   replica.description = issue.description
   replica.project = issue.project
   replica.type = issue.type
	....
	//other script rules to sync issues
	....
   replica.customFields.Sprint = issue.customFields.Sprint
}

Destination side  

Incoming sync

To apply the received sprint data on your side add the code below

if(entityType == "sprint"){
    //Executed when receiving a sprint sync from the remote side
    sprint.name = replica.name
    sprint.originBoardId = "12" //Set the board ID where the sprint will be created
}
if(entityType == "issue"){
    //Executed when receiving an issue sync from the remote side
	if(firstSync){
		issue.projectKey = "TEST"
    	issue.typeName = "Task"
	}
    issue.summary = replica.summary
    issue.description = replica.description
	....
	//other script rules to sync issues
	....
    def remoteSprintId = replica.customFields.Sprint?.value?.id.find()
    if(remoteSprintId){
       issue.customFields.Sprint.value = nodeHelper.getLocalIssueKeyFromRemoteId(remoteSprintId, "sprint")?.id
    }
}


You can control which sprints get synchronized from the outgoing sync rules.

When you don't want an entity to be synchronized, use return before actually setting any value on the replica.

if(sprint.originBoardId != "12"){
  // If the board id of the sprint is not 12, then it won't get synchronized
  return;
}
//The rest of your outgoing script

Fields of the sprint entity
field nametype
sprint.nameString
sprint.stateString
sprint.originBoardIdString
sprint.startDateDate
sprint.endDate Date
sprint.completeDateDate
sprint.goalString


How to start sprint synchronization?

To start the synchronization of a sprint you need to create a trigger and select entity type sprint.

You need to sync sprint with the help of the trigger first and then start syncing issues.


Have more questions? Ask the community


How to create a trigger?


Back to How to guides