I have a groovy script which updates a Group Custom Field value, but when i run the options will get null,
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.ComponentManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.customfields.option.Option
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.customfields.option.Options
import org.apache.log4j.Category
import com.atlassian.jira.issue.customfields.manager.OptionsManager
def Category log = Category.getInstance("com.onresolve.jira.groovy")
log.setLevel(org.apache.log4j.Level.DEBUG)
MutableIssue issue = issue
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()
CustomField essTeam = customFieldManager.getCustomFieldObjectByName("ESS Team")
OptionsManager optionsManager = ComponentManager.getComponentInstanceOfType(OptionsManager.class)
log.debug "Starting"
if(ComponentManager.getInstance().getUserUtil().getGroupNamesForUser(issue.reporterId).contains("ESS Team")){
OptionsManager optManager = ComponentAccessor.getOptionsManager();
Options options = optManager.getOptions(essTeam.getRelevantConfig(issue));
Option newOption = options.getOptionById(5);
ModifiedValue mVal = new ModifiedValue(issue.getCustomFieldValue(essTeam ), newOption );
essTeam.updateValue(null, issue, mVal, new DefaultIssueChangeHolder());
log.debug "Team is " + options
} else {
OptionsManager optManager = ComponentAccessor.getOptionsManager();
Options options = optManager.getOptions(essTeam.getRelevantConfig(issue));
Option newOption = options.getOptionById(5);
ModifiedValue mVal = new ModifiedValue(issue.getCustomFieldValue(essTeam ), newOption );
essTeam.updateValue(null, issue, mVal, new DefaultIssueChangeHolder());
log.debug "Team is " + options
}
What is the issue, issue is not updating as well
Is your code a postfunction or just running from a scriprunner?
Retrieving issue this way
MutableIssue issue = issue
is only acceptable while writing a postfunction.
While running script from a scriptrunner you should define iisue by your own, e.g.
MutableIssue issue = ComponentAccessor.getIssueManager().getIssueByCurrentKey("AP-10"); //Replace key "AP-10" with issue key you need.
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.