Discrepancy in Webhook Payload JSON format between Jira Versions 9.12 and 10.X and the REST API format

XMLWordPrintable

    • Type: Bug
    • Resolution: Not a bug
    • Priority: Low
    • None
    • Affects Version/s: 10.0.0, 10.3.7
    • Component/s: Webhooks
    • None
    • 10
    • 2
    • Severity 3 - Minor
    • 21
    • Hide
      Atlassian Update – 05.08.2025

      Dear Customers,

      We have investigated this ticket, and after a second review, we have decided to close it as "Not a bug."

      Reason:

      Jira is constantly evolving to meet the quality and security requirements of our clients. Minor changes in JSON representation may occur. The changes identified in this ticket are not breaking changes. Both responses are valid JSON, and both are equivalent to each other. This change should not disrupt any integration if implemented correctly.

      Next Steps:

      If you experience any problems with our supported products not being able to parse the webhook payload after this change, please report the issue in the appropriate product project.

      Thank you for your understanding.
      Antoni Kowalski, Jira DC Software Engineer.

      Show
      Atlassian Update – 05.08.2025 Dear Customers, We have investigated this ticket, and after a second review, we have decided to close it as "Not a bug." Reason: Jira is constantly evolving to meet the quality and security requirements of our clients. Minor changes in JSON representation may occur. The changes identified in this ticket are not breaking changes. Both responses are valid JSON, and both are equivalent to each other. This change should not disrupt any integration if implemented correctly. Next Steps: If you experience any problems with our supported products not being able to parse the webhook payload after this change, please report the issue in the appropriate product project. Thank you for your understanding. Antoni Kowalski, Jira DC Software Engineer.

      Issue Summary

      In Jira version 10.x, the JSON payload for objects includes all child properties explicitly, even if their values are null. This means that each property is present in the JSON output regardless of whether it has a value. For example, the timetracking object appears as follows:

            "timetracking": {
              "originalEstimate": null,
              "remainingEstimate": null,
              "timeSpent": null,
              "originalEstimateSeconds": null,
              "remainingEstimateSeconds": null,
              "timeSpentSeconds": null
            },  

      In contrast, in Jira version 9.x, the JSON payload excludes child properties that have null values. The timetracking object would look like this.

      "timetracking": {},  

      However, the REST API output format is unchanged between the version because Jira REST Plugin continues to specify JsonInclude.Include.NON_NULL in its mapper, therefore null values are not included in the REST API output.

      NOTE

      It is important to note that underlying payload format has not been changed (e.g. "originalEstimateSeconds" was part of the format before and have not changed), and the webhook data is still completely accurate - the only difference is that in 9.12 null values were omitted from the webhook payload, whereas in 10.X they are included.

      Steps to Reproduce

      1. Spin up a Jira 10.x instance and Jira 9.12 instance.
      2. Create a test project in both the instances, and create a test issue within the project, do not enter any values for time tracking fields.
      3. Navigate to Administration -> System -> Webhooks, create a test Webhook like below, use any test Webhook receiver URL where you can check inspect the Webhook payload
        1. Webhook in Jira 9.X 
        2. Webhook in Jira 10.X 
      4. Compare the Webhook JSON payload, you will observe that child properties with null values are included in the Jira 10.x instance, however, they are excluded in the Jira 9.x instance.
        1. In Jira 10.X, you will see the following
        2. In Jira 9.X, the payload is as follows 
      5. However, the REST API output is same for both versions
        1. In Jira 10.X REST API output 
        2. In Jira 9.X REST API output is same 

      Expected Results

      Webhook JSON payload is consistent with the REST API.

      Actual Results

      In Jira 10.X Webhook JSON payload includes child properties with null values

      Workaround

      Currently there is no known workaround for this behavior. A workaround will be added here when available

        1. Screenshot 2025-07-09 at 1.58.07 PM.png
          174 kB
          Vamshi R
        2. Screenshot 2025-07-09 at 1.59.33 PM.png
          201 kB
          Vamshi R
        3. Screenshot 2025-07-09 at 2.06.03 PM.png
          161 kB
          Vamshi R
        4. Screenshot 2025-07-09 at 2.07.45 PM.png
          210 kB
          Vamshi R
        5. Screenshot 2025-07-09 at 2.11.54 PM.png
          120 kB
          Vamshi R
        6. Screenshot 2025-07-09 at 2.12.47 PM.png
          109 kB
          Vamshi R

            Assignee:
            Unassigned
            Reporter:
            Vamshi R
            Votes:
            2 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 1.25h
                1.25h