In the ScriptRunner console, I am writing a script to make the Epic Name equal to the Summary for a set of issues. This is my code:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.jql.builder.JqlQueryBuilder
import com.atlassian.jira.bc.issue.search.SearchService
import com.atlassian.jira.issue.search.SearchResults
import com.atlassian.jira.web.bean.PagerFilter
def issueManager = ComponentAccessor.getIssueManager()
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def searchService = ComponentAccessor.getComponentOfType(SearchService.class)
def customField = customFieldManager.getCustomFieldObject((long) 10002)
JqlQueryBuilder jqlBuilder = JqlQueryBuilder.newBuilder()
jqlBuilder.where().project("ITSD").and().issueType("Epic")
SearchResults results = searchService.searchOverrideSecurity(
ComponentAccessor.getUserManager().getUserByName("sysadmin"),
jqlBuilder.buildQuery(),
PagerFilter.getUnlimitedFilter()
)
def issues = results.getIssues();
for (def issue: issues) {
//log.error 'issue: ' + issue.getCustomFieldValue(customField)
issue.setCustomFieldValue(customField, issue.getSummary())
//log.error 'issue: ' + issue.getCustomFieldValue(customField)
}
I get an error when calling setCustomFieldValue() at the end that says that customField is an ImmutableCustomField. How do I fix this code to make it work?
Error is:
groovy.lang.MissingMethodException: No signature of method: com.atlassian.jira.issue.DocumentIssueImpl.setCustomFieldValue() is applicable for argument types: (com.atlassian.jira.issue.fields.ImmutableCustomField, java.lang.String) values: [Epic Name, Application Portfolio Manangement - Phase I] Possible solutions: getCustomFieldValue(com.atlassian.jira.issue.fields.CustomField) at Script47.run(Script47.groovy:24)