NullPointerException when getting custom field value post function

Using below code for a custom field which is also a required field( Single Choice list), still getting below error, Need help !!

Code: 

<Field Name> <% out << issue.getCustomFieldValue(componentManager.getCustomFieldManager().getCustomFieldObjectByName("<Field Name> ") %>

 

Error:

java.lang.NullPointerException

       at com.atlassian.jira.issue.IssueImpl.getCustomFieldValue(IssueImpl.java:1003)

       at com.atlassian.jira.issue.Issue$getCustomFieldValue$0.call(Unknown Source)

       at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)

       at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110)

       at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122)

       at groovy.tmp.templates.GStringTemplateScript5$_getTemplate_closure1.doCall(GStringTemplateScript5.groovy:15)

       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

       at java.lang.reflect.Method.invoke(Unknown Source)

       at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)

       at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)

       at

       at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)

       at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)

       at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

       at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

       at java.lang.Thread.run(Unknown Source)

1 answer

0 votes
Alexey Matveev Community Champion Dec 06, 2017

Hello, 

The problem is that your variable componentManager is unknown.

it shoud be 

issue.getCustomFieldValue(ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("<Field Name> "))

But you would need to make an import

import com.atlassian.jira.component.ComponentAccessor

Thanks Alexey, Could you please suggest that how can we import library in the email section. 

NullPointerException.PNG

<Field Name> <% out << issue.getCustomFieldValue(com.atlassian.jira.component.ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("<Field Name> ")) %>

 

Tried, still getting the same error.

Please if you can suggest more solutions.

Thanks in Advance.

Alexey Matveev Community Champion Dec 06, 2017

What do you pass for <Field Name> ? Make sure the field really exists

Required Order Contract Term (in months): <% out << issue.getCustomFieldValue(com.atlassian.jira.component.ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Required Order Contract Term (in months)")) %>

 

Required Order Contract Term (in months) -  It's a field

Alexey Matveev Community Champion Dec 06, 2017

Somehow the field is not found in your Jira instance. Or the error is actually different

Hello Alexey

The issue was with the field only, re-indexing has fixed this issue.

Many Many Thanks for Your help :)

Alexey Matveev Community Champion Dec 07, 2017

Nice to hear. Good luck.

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted yesterday in Jira Service Desk

Looking for anyone who has switched from Zendesk to Jira Service Desk

Hi Community! The Jira Service Desk marketing team is looking for customers who have successfully switched from Zendesk to Jira Service Desk!   We’d love to hear your thoughts on the pros and ...

21 views 0 1
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you