I have been reading through the forum but can't find anything that works for my scenario.
I need to update a custom select value.
I have been able to update a custom field without issue and I have the id of the select option I wish to set. I just need the method to update the select please.
//Required Imports import com.atlassian.jira.issue.Issue import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.ComponentManager import com.atlassian.jira.issue.CustomFieldManager import com.atlassian.jira.issue.fields.CustomField import com.atlassian.jira.issue.ModifiedValue import com.atlassian.jira.issue.util.DefaultIssueChangeHolder //Identify Issue def im = ComponentAccessor.getIssueManager() def issue = im.getIssueObject("TC-23") def cfm = ComponentAccessor.getCustomFieldManager() //Set Change Holder def changeHolder = new DefaultIssueChangeHolder(); //Set Value of Manufactuer def cf1 = cfm.getCustomFieldObjects(issue).find {it.name == "Manufacturer:"} cf1.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(cf1), 'TEST_VALUE'), changeHolder); //Set Complexity value to Select def cf = cfm.getCustomFieldObjects(issue).find {it.name == "Complexity"}
I have the select config with this code.
def fieldConfig = cf.getRelevantConfig(issue) def option = ComponentAccessor.optionsManager.getOptions(fieldConfig)?.find {it.toString() == "Select"} option.properties.each { prop, val -> log.warn(prop.toString() + " = " + val) } log.warn(option.optionId)
Thanks!
I just worked it out. I actually pass the option property which I set in:
def option = ComponentAccessor.optionsManager.getOptions(fieldConfig)?.find {it.toString() == "Select"}
So I pass the option.
cf.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(cf), option), changeHolder);
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.