CommentEventListener in jira-dc-rovo-plugin throws NullPointerException when workflow transition fires "Issue Commented" event without a comment

XMLWordPrintable

    • 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.

              Assignee:
              Unassigned
              Reporter:
              Subodh Singh
              Votes:
              4 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: