JIRA throws MethodInvocationException when viewing History tab
Platform Notice: Server, Data Center, and Cloud By Request - This article was written for the Atlassian server and data center platforms but may also be useful for Atlassian Cloud customers. If completing instructions in this article would help you, please contact Atlassian Support and mention it.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Problem
When trying to view the History tab of an issue, you will run into the following error
The following is the full stack trace
An error occurred whilst rendering this message. Please contact the administrators, and inform them of this bug.
Details: ------- org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getChangeItems' in class com.atlassian.jira.issue.tabpanels.ChangeHistoryAction threw exception java.lang.NullPointerException at com.atlassian.jira.plugin.system.issuetabpanels:changehistory-tabpanel/templates/plugins/jira/issuetabpanels/changehistory.vm[line 22, column 53]
at org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:223)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:262)
at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:507)
at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:282)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
at org.apache.velocity.Template.merge(Template.java:328)
at org.apache.velocity.Template.merge(Template.java:235)
at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:381)
at com.atlassian.velocity.DefaultVelocityManager.writeEncodedBodyImpl(DefaultVelocityManager.java:117)
at com.atlassian.velocity.DefaultVelocityManager.writeEncodedBody(DefaultVelocityManager.java:97)
at com.atlassian.jira.template.velocity.DefaultVelocityTemplatingEngine$DefaultRenderRequest.toWriterImpl(DefaultVelocityTemplatingEngine.java:146)
at com.atlassian.jira.template.velocity.DefaultVelocityTemplatingEngine$DefaultRenderRequest.asHtml(DefaultVelocityTemplatingEngine.java:134)
at com.atlassian.jira.plugin.AbstractJiraModuleDescriptor.writeHtml(AbstractJiraModuleDescriptor.java:133)
at com.atlassian.jira.plugin.AbstractJiraModuleDescriptor.getHtml(AbstractJiraModuleDescriptor.java:109)
at com.atlassian.jira.plugin.issuetabpanel.AbstractIssueAction.getHtml(AbstractIssueAction.java:25)
at sun.reflect.GeneratedMethodAccessor926.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
...
Caused by: java.lang.NullPointerException at com.quisapps.jira.fieldsecurity.history.ProtectedChangeHistory.getChangeItems(ProtectedChangeHistory.java:30)
at com.atlassian.jira.issue.tabpanels.ChangeHistoryAction.getChangeItems(ChangeHistoryAction.java:128)
at sun.reflect.GeneratedMethodAccessor930.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.velocity.runtime.parser.node.PropertyExecutor.execute(PropertyExecutor.java:142)
at org.apache.velocity.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:525)
at org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:198)
... 251 more
Cause
This error is related to the a third party plugin; Field Security Plugin: https://marketplace.atlassian.com/plugins/com.quisapps.jira.jfs based on the following line towards the bottom of the stack trace
Caused by: java.lang.NullPointerException at com.quisapps.jira.fieldsecurity.history.ProtectedChangeHistory.getChangeItems(ProtectedChangeHistory.java:30)
Workaround
- Restart your JIRA instance
- This is known to have resolved the situation for some users; OR - Disable the Field Security Plugin and run JIRA re-index
Resolution
Field Security Plugin is a 3rd party add-on by quisapps.com. Raise this issue to them at http://support.quisapps.com/secure/Dashboard.jspa