i'm trying to set a custom selection list field value via script runner post function script.
It passes with no issues but I don't see the filed actually getting updated.
What am I missing ?
import com.atlassian.jira.issue.IssueManager import com.atlassian.jira.ComponentManager import com.atlassian.jira.issue.customfields.manager.OptionsManager import com.atlassian.jira.issue.fields.CustomField import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.ModifiedValue import com.atlassian.jira.issue.util.DefaultIssueChangeHolder def componentManager = ComponentManager.instance; if (issue.issueTypeObject.name == "Bug"){ def optionsManager = componentManager.getComponentInstanceOfType(OptionsManager.class); // locating the custom field def cfDocReq = componentManager.getCustomFieldManager().getCustomFieldObjectByName('Documentation required'); // retrieve the field options def fieldConfig = cfDocReq.getRelevantConfig(issue); // set up the specific value to set the list def value = ComponentAccessor.optionsManager.getOptions(fieldConfig)?.find { it.toString() == 'Required' } // update the custom selection list field issue.setCustomFieldValue(cfDocReq, value); // store changes issue.store(); }
OK, this is how its suppose to be (working for me):
// setting the list value to null which is the default jira value mutableIssue.setCustomFieldValue(cfSDoc, null); // update the custom filed and issue Map<String, ModifiedValue> modifiedFields = mutableIssue.getModifiedFields(); def fieldLayoutItem = ComponentManager.getInstance().getFieldLayoutManager().getFieldLayout(mutableIssue).getFieldLayoutItem(cfSDoc); DefaultIssueChangeHolder issueChangeHolder = new DefaultIssueChangeHolder(); ModifiedValue modifiedValue = (ModifiedValue) modifiedFields.get(cfSDoc.getId()); cfSDoc.updateValue(fieldLayoutItem, mutableIssue, modifiedValue, issueChangeHolder); mutableIssue.store();
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.