-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Medium
-
None
-
Affects Version/s: 10.3.22
-
Component/s: Workflow Triggers
-
None
-
10.03
-
1
-
Severity 3 - Minor
Issue Summary
The CommentEventListener.onIssueCommentUpdatedEvent() in the Jira DC Rovo Plugin calls issueEvent.getComment().getId() without a null check. When a workflow transition fires an "Issue Commented" event and no comment is provided by the user (e.g., during an assignment transition via /secure/CommentAssignIssue.jspa), getComment() returns null, causing a NullPointerException at CommentEventListener.java:124.
The error is logged at ERROR level on every qualifying transition, generating significant log noise that fills up atlassian-jira.log.
Steps to Reproduce
1. Create a custom screen with the Assignee field.
2. Edit the project workflow — attach this screen to the "In Progress" transition.
3. Add a post function: Fire a "Issue Commented" event that can be processed by the listeners.
4. Edit the post function, select "Issue Commented", save and publish the workflow.
5. Create a new issue and transition it to "In Progress".
6. In the transition dialog — change the Assignee but leave the Comment field empty.
7. Submit the transition.
8. Check atlassian-jira.log.
Expected Results
The transition should complete without any errors in the log. The listener should gracefully handle the case where no comment exists on the event.
Actual Results
A NullPointerException is logged at ERROR level, explicitly identifying the Jira DC Rovo Plugin (com.atlassian.jira.plugin.rovo.updates.CommentEventListener) as the source of the failure:
2026-07-16 12:54:13,756+0200 http-nio-0.0.0.0-8080-exec-2082 ERROR userXXX /secure/CommentAssignIssue.jspa [c.a.event.internal.AsynchronousAbleEventDispatcher] There was an exception thrown trying to dispatch event [com.atlassian.jira.event.issue.IssueEvent[issue=PROJ-12345,comment=<null>,worklog=<null>,changelog=[GenericEntity:ChangeGroup],eventTypeId=6,sendMail=true,params={eventsource=workflow},subtasksUpdated=false,spanningOperation=Optional.empty,isRedundant=true]] from the invoker [ComparableListenerInvoker{delegate=SingleParameterMethodListenerInvoker{method=public void com.atlassian.jira.plugin.rovo.updates.CommentEventListener.onIssueCommentUpdatedEvent(com.atlassian.jira.event.issue.IssueEvent), listener=com.atlassian.jira.plugin.rovo.updates.CommentEventListener@34423486} (monitored), classHierarchyOrder=0, registerOrder=1598}]
java.lang.RuntimeException: Cannot invoke "com.atlassian.jira.issue.comments.Comment.getId()" because "comment" is null. Listener: com.atlassian.jira.plugin.rovo.updates.CommentEventListener event: com.atlassian.jira.event.issue.IssueEvent
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:52)
Caused by: java.lang.NullPointerException: Cannot invoke "com.atlassian.jira.issue.comments.Comment.getId()" because "comment" is null
at com.atlassian.jira.plugin.rovo.updates.CommentEventListener.handleCommentCreatedEvent(CommentEventListener.java:124)
at com.atlassian.jira.plugin.rovo.updates.CommentEventListener.onIssueCommentUpdatedEvent(CommentEventListener.java:71)
Workaround
No workaround available at this time. Will be updated once identified.