-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Low
-
None
-
Affects Version/s: 11.3.7, 10.3.23
-
Component/s: Issue - Comments, REST API
-
None
-
10.03
-
4
-
Severity 3 - Minor
-
8
Issue Summary
When a comment is added to an issue using the generic issue update endpoint (PUT /rest/api/2/issue/{issueIdOrKey}{}) with only a comment in the payload and no field changes, two event listeners crash with a NullPointerException.
Steps to Reproduce
- Install Jira Software 10.3.16 or above
- Create a project and a test issue - TEST-1
- Add a comment to the TEST-1 using the REST API - PUT /rest/api/2/issue/{key}
Expected Results
- Comment is added
- No errors in the log
- Event listeners handle null changelog gracefully (as documented in the API contract)
Actual Results
The below exceptions are thrown in the atlassian-jira.log file:
2026-07-09 11:20:44,540+0000 http-nio-8080-exec-6 url: /jira/rest/api/2/issue/TEST-1; user: admin ERROR admin 680x309x1 1tnahl9 10.140.13.100,172.50.0.3 /rest/api/2/issue/TEST-1 [c.a.r.j.c.parent.cleanup.ParentLinkCleanupService] Cannot invoke "org.ofbiz.core.entity.GenericValue.getRelated(String)" because the return value of "com.atlassian.jira.event.issue.IssueEvent.getChangeLog()" is null java.lang.NullPointerException: Cannot invoke "org.ofbiz.core.entity.GenericValue.getRelated(String)" because the return value of "com.atlassian.jira.event.issue.IssueEvent.getChangeLog()" is null at com.atlassian.rm.jpo.customfields.parent.cleanup.ParentLinkCleanupService.isIssueTypeChanged(ParentLinkCleanupService.java:122) at com.atlassian.rm.jpo.customfields.parent.cleanup.ParentLinkCleanupService.onIssueEvent(ParentLinkCleanupService.java:61) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:42) at com.atlassian.diagnostics.internal.platform.monitor.event.EventSystemMonitor.invokeMonitored(EventSystemMonitor.java:109) at com.atlassian.diagnostics.internal.platform.monitor.event.MonitoredListenerInvoker.invoke(MonitoredListenerInvoker.java:38) at com.atlassian.event.internal.ComparableListenerInvoker.invoke(ComparableListenerInvoker.java:48) at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.lambda$static$0(AsynchronousAbleEventDispatcher.java:38) at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:89) at com.atlassian.diagnostics.internal.platform.monitor.event.MonitoredEventDispatcher.dispatch(MonitoredEventDispatcher.java:35) at com.atlassian.event.internal.EventPublisherImpl.publish(EventPublisherImpl.java:103) at com.atlassian.jira.event.issue.DefaultIssueEventManager.publishEventIfNotificationsAreEnabled(DefaultIssueEventManager.java:180)
2026-07-09 11:20:45,033+0000 JIRA-INFORM-Thread-0 WARN [c.a.j.p.m.service.helper.NotificationRecipientHelper] Cannot get change items java.lang.NullPointerException: Cannot invoke "org.ofbiz.core.entity.GenericValue.getRelated(String)" because the return value of "com.atlassian.jira.event.issue.IssueEvent.getChangeLog()" is null at com.atlassian.jira.plugin.mobile.service.helper.NotificationRecipientHelper.isSupportedIssueUpdateEvent(NotificationRecipientHelper.java:137) at com.atlassian.jira.plugin.mobile.service.helper.NotificationRecipientHelper.isSupportedEvent(NotificationRecipientHelper.java:129) at com.atlassian.jira.plugin.mobile.service.helper.NotificationRecipientHelper.isValidIssueEvent(NotificationRecipientHelper.java:115) at com.atlassian.jira.plugin.mobile.service.impl.MobileNotificationRecipientServiceImpl.getRecipientUserKeys(MobileNotificationRecipientServiceImpl.java:47) at com.atlassian.jira.plugin.mobile.service.provider.MobileNotificationRecipientProvider.getRecipients(MobileNotificationRecipientProvider.java:37) at com.atlassian.jira.plugins.inform.events.convert.EventConverterImpl.safeGet(EventConverterImpl.java:71) at com.atlassian.jira.plugins.inform.events.convert.EventConverterImpl.lambda$convert$0(EventConverterImpl.java:53) at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
Workaround
Use the dedicated comment endpoint: POST /rest/api/2/issue/{issueIdOrKey}/comment
This fires an ISSUE_COMMENTED event type (not a generic update event) which does not trigger the affected listeners.
- relates to
-
JRASERVER-78726 NPE in logs while adding comments via the bulk edit
-
- Gathering Impact
-