[Duplicate] getFieldByName() not working from script runner

Srilatha Pokala May 10, 2017

Hi
I have following code to set field as required and the following code works as expected:

import com.onresolve.jira.groovy.user.FormField
FormField num = getFieldByName("Change Request Number");
num.setRequired(true)

I would like to write a wapper class around to avoid duplicate code every where.

Created groovy file called FieldAttr.groovy in behaviourutil folder
package behaviourutil

import com.onresolve.jira.groovy.user.FieldBehaviours
import com.onresolve.jira.groovy.user.FormField
@BaseScript FieldBehaviours fieldBehaviours

def showRequired(String field) {
log.info("inside showRequired...." + field);
FormField sField = getFieldByName(field)
sField.setRequired(true)
}

Issue is with following code, where trying to import above groovy code
import behaviourutil.FieldAttr
def d = new FieldAttr()
d.showRequired("Change Request Number");

This gives me following error:

Script function failed on issue: (create issue) project/issuetype: fieldId: customfield_11122, file: <inline script>
java.lang.NullPointerException: Cannot invoke method getFieldIdByName() on null object
at com.onresolve.jira.groovy.Behaviour$getFieldIdByName$2.call(Unknown Source)
at com.onresolve.jira.groovy.user.FieldBehaviours.getFieldByName(FieldBehaviours.groovy:53)
at com.onresolve.jira.groovy.user.FieldBehaviours$getFieldByName.callCurrent(Unknown Source)
at behaviourutil.FieldAttr.showRequired(FieldAttr.groovy:19)
at behaviourutil.FieldAttr$showRequired.call(Unknown Source)
at Script1.run(Script1.groovy:5)

1 answer

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

0 votes
Sam Hall
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 10, 2017
TAGS
AUG Leaders

Atlassian Community Events