Behaviours Map Custom Multi-select Field

Artemy Matvienko
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 6, 2018

I'm trying to set a custom multi-select field inside the "constrained create issue dialog", but having some trouble. I can't seem to find info online on how to set one of those. The following is my current script. "customfield_10900" is what I'm trying to set.

import org.apache.log4j.Logger
import org.apache.log4j.Level
def log = Logger.getLogger("com.acme.CreateSubtask")
log.setLevel(Level.DEBUG)

import com.atlassian.jira.component.ComponentAccessor

def issueManager = ComponentAccessor.getIssueManager()
def behaviourContextId = getBehaviourContextId()
if (behaviourContextId == "create-test") {
def contextIssue = issueManager.getIssueObject(getContextIssueId())
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def cf = customFieldManager.getCustomFieldObject('customfield_10800')
def cf2 = customFieldManager.getCustomFieldObject('customfield_10900')

def component = cf.getValue(contextIssue)
def platform = cf2.getValue(contextIssue)
def optionsManager = ComponentAccessor.getOptionsManager()

def customField = ComponentAccessor.getCustomFieldManager().getCustomFieldObject('customfield_10800')
def fieldConfig = customField.getRelevantConfig(contextIssue)
def options = optionsManager.getOptions(fieldConfig)
def parentOption = options.find {it.value == component.get(null).toString()}
def childOption = parentOption?.childOptions?.find {it.value == component.get('1').toString()}

def customField2 = ComponentAccessor.getCustomFieldManager().getCustomFieldObject('customfield_10900')
def fieldConfig2 = customField2.getRelevantConfig(contextIssue)
def options2 = optionsManager.getOptions(fieldConfig2)
def platforms = options2.find{it.value == platform.toString()}

getFieldById("summary").setFormValue("${contextIssue.key} Test Steps")
getFieldById("customfield_10900").setFormValue(options2.find{it.value == platform.toString()})
getFieldById("customfield_10800").setFormValue([parentOption.optionId, childOption.optionId])
getFieldById("description").setFormValue("${contextIssue.key} Test Steps")
getFieldById("issuelinks-linktype").setFormValue("tests")
getFieldById("issuelinks-issues").setFormValue(contextIssue.key)
}

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events