Checklist items mapping
If we have a checklist with the values
Yes, do not include x
Yes, include x
No
And we want to transform it the remote systems API which looks like this:
{
"sync":boolean,
"include": boolean
}
So to match the above body we need to create a scripted variable.
Code example
import com.atlassian.jira.component.ComponentAccessor
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def SYNC_CF_ID = 26531
def SyncCf = customFieldManager.getCustomFieldObject(SYNC_CF_ID)
def Sync = issue.getCustomFieldValue(SyncCf)
def yesWithoutX = "Yes, do not include x"
def yesWithX = "Yes, include x"
def no = "No"
def includeValue = false
def syncIt = false
if(Sync){
Sync.each{it->
if(it.toString() == yesWithoutX)
syncIt = false
else if(it.toString() == yesWithX)
syncIt = true
else if(it.toString() == no)
includeValue = true
}
}
class Result{
String syncIt
String include
}
return new Result(syncIt:syncIt,include:includeValue)
Use the variable named {{syncCheck}} in the body like this
{
"sync":"{{syncCheck.syncIt}}",
"include":"{{syncCheck.include}}"
}
, multiple selections available,