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.