Hello
I am working on a script to add watchers to an issue on creation based on a custom field value. I am using this on a multi select field, so ideally it would add watchers for each selection in the multi select field
Script (part of it that seems to be getting caught in errors):
MutableIssue mutableIssue = (MutableIssue) issue;
def application = mutableIssue.getCustomFieldValue('customfield_12610');
if(application.equals("BL")){
watchUsers(BL_users);
}
if(application.equals("FOC")){
watchUsers(FOC_users);
}
Error:
2015-04-06 08:51:47,604 http-bio-8080-exec-12 WARN neiltaylor 531x2689x1 1ur03l5 12.97.73.94 /secure/QuickCreateIssue.jspa [onresolve.scriptrunner.runner.ScriptRunnerImpl] Add a script root for this path: C:\NGP\scripts\groovy\DPL.groovy
2015-04-06 08:51:48,057 http-bio-8080-exec-12 ERROR neiltaylor 531x2689x1 1ur03l5 12.97.73.94 /secure/QuickCreateIssue.jspa [scriptrunner.jira.workflow.ScriptWorkflowFunction] *************************************************************************************
2015-04-06 08:51:48,057 http-bio-8080-exec-12 ERROR neiltaylor 531x2689x1 1ur03l5 12.97.73.94 /secure/QuickCreateIssue.jspa [scriptrunner.jira.workflow.ScriptWorkflowFunction] Script function failed on issue: DPL-2725, actionId: 1, file: C:\NGP\scripts\groovy\DPL.groovy
javax.script.ScriptException: javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: com.atlassian.jira.issue.IssueImpl.getCustomFieldValue() is applicable for argument types: (java.lang.String) values: [customfield_12610]
Possible solutions: getCustomFieldValue(com.atlassian.jira.issue.fields.CustomField), setCustomFieldValue(com.atlassian.jira.issue.fields.CustomField, java.lang.Object)
at com.onresolve.scriptrunner.runner.ScriptRunnerImpl.runFileAsScript(ScriptRunnerImpl.groovy:195)
at com.onresolve.scriptrunner.runner.ScriptRunner$runFileAsScript$4.call(Unknown Source)
at com.onresolve.scriptrunner.canned.jira.utils.CustomScriptDelegate.doScript(CustomScriptDelegate.groovy:47)
at com.onresolve.scriptrunner.canned.jira.utils.CustomScriptDelegate$doScript$2.call(Unknown Source)
at com.onresolve.scriptrunner.canned.jira.workflow.postfunctions.CustomScriptFunction.doScript(CustomScriptFunction.groovy:20)
Caused by: javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: com.atlassian.jira.issue.IssueImpl.getCustomFieldValue() is applicable for argument types: (java.lang.String) values: [customfield_12610]
Possible solutions: getCustomFieldValue(com.atlassian.jira.issue.fields.CustomField), setCustomFieldValue(com.atlassian.jira.issue.fields.CustomField, java.lang.Object)
... 5 more
Caused by: groovy.lang.MissingMethodException: No signature of method: com.atlassian.jira.issue.IssueImpl.getCustomFieldValue() is applicable for argument types: (java.lang.String) values: [customfield_12610]
Possible solutions: getCustomFieldValue(com.atlassian.jira.issue.fields.CustomField), setCustomFieldValue(com.atlassian.jira.issue.fields.CustomField, java.lang.Object)
at com.onresolve.jira.groovy.canned.workflow.postfunctions.Script3.run(Script3.groovy:42)
I'm guessing your asking why you get that error? (You didn't state it clearly). Here's why:
You wrote mutableIssue.getCustomFieldValue('customfield_12610')
, but MutableIssue
(or better: Its implementation IssueImpl
) does not have such a method which accepts a custom field id as a String. Groovy even tells you what method you should use instead:
Possible solutions: getCustomFieldValue(com.atlassian.jira.issue.fields.CustomField)
You have to give the CustomField
object as the argument, not just its id. To get such an object, use the CustomFieldManager
:
CustomFieldManager#getCustomFieldObject(String)
CustomFieldManager#getCustomFieldObject(Long)
CustomFieldManager#getCustomFieldObjectByName()
Any way to know what this script should look like for a single field value?
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.