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.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.