Checklist items mapping

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.

image-20250313-142100.png

 

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}}" }