My goal is to to fill in field with value that is in the Epic, once Epic link field is filled in task.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.customfields.option.Option
def epicLinkCf = getFieldById(getFieldChanged()) //Epic Link field
def inputCategoryCF = getFieldById("customfield_11300") //Field that must be filled
def epicLinkValue = epicLinkCf.getValue().toString()
def epicKey = epicLinkValue.replace("key:","")
def issueManager = ComponentAccessor.getIssueManager()
def optionsManager = ComponentAccessor.getOptionsManager()
def epic = issueManager.getIssueObject(epicKey)
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def inputCategoryField = customFieldManager.getCustomFieldObject(11300L)
def inputCategoryConfig = inputCategoryField.getRelevantConfig(getIssueContext())
def options = optionsManager.getOptions(inputCategoryConfig)
def inputCategoryValue = epic.getCustomFieldValue(inputCategoryField).toString()
def optionToSelect = options.find { it.value == inputCategoryValue}
inputCategoryCF.setFormValue(optionToSelect.optionId)
This is not working.
I tested, by adding error on the screen by replacing:
inputCategoryCF.setFormValue(optionToSelect.optionId) with
inputCategoryCF.setError(optionToSelect.optionId.toString())
and I can see, that correct option Id is shown.
I don't understand, why setFormValue is not working.