Hello,
We are currently synchronizing sprints from DC to Cloud.
The goal is to simplify the whole process, therefore we want to create one mapping in DC which is doing all the rest.
Unfortunately there seems to be no filter to only sync specific sprints: Triggering a sprint sync will migrate all sprints, exhausting the sync queue and only filter later for relevant sprints.
Is there any way to limit the outgoing sprints?
Question 1: Is there any chance to filter outgoing sprint syncs?
Question 2: Is the following appraoch feasible?
Outgoing script in DC:
Map<String, String> sprintMap = [:]
sprintMap << [“111”:“222”,“333”:“444”]replica.sprintMap = sprintMap
def boardIds = replica.sprintMap.keySet()if(entityType == “sprint” && boardIds.find{it == sprint.originBoardId}){
replica.name = sprint.name
[…]
}
Incoming script in Cloud:
if(entityType == “sprint”){
def sprintMap = replica.sprintMap ?: null
if (!sprintMap) throw new com.exalate.api.exception.IssueTrackerException(“sprintMapping missing” )
sprint.name = replica.name
sprint.goal = replica.goal
sprint.state = replica.state
sprint.startDate = replica.startDate
sprint.endDate = replica.endDate
def localBoardId = sprintMap[replica.originBoardId]
if(localBoardId == “skip”){
return
}
if(localBoardId == null){
throw new com.exalate.api.exception.IssueTrackerException("No board mapping for remote board id "+replica.originBoardId)
}
sprint.originBoardId = localBoardId // Where the sprint will be created
}