Scriptrunner behaviours - setFormValue(optionId) not working

Sandra Priedīte August 5, 2020

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.

0 answers

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
SERVER
TAGS
AUG Leaders

Atlassian Community Events