Jira Cloud Webhook Fails to send any events to target even though the registration was successful

I am encountering an issue where a Jira Cloud webhook fails to send any event to the target even though the registration is successful without any errors. I suspect this might be a bug or a misconfiguration on my end, and I would appreciate any insights from the community.

Registering a Webhook manually via the Jira Admin Dashboard does triggers the webhook and IS WORKING.

Steps to Reproduce:

  1. Register a Webhook:
    • Using the endpoint: POST https://api.atlassian.com/ex/jira/{{jira-cloud-id}}/rest/api/3/webhook
    • Payload:
     {
       "url": "https://my-app-url.com/api/v1/integrations/jira/webhooks",
       "webhooks": [
         {
           "events": [
             "jira:issue_created",
             "jira:issue_updated"
           ],
           "jqlFilter": "status = '*'"
         }
       ],
       "secret": "MY_RANDOM_SECRET"
     }
  • Response:
     {
       "webhookRegistrationResult": [
         {
           "createdWebhookId": 39
         }
       ]
     }
  1. List Registered Webhooks:
    • Using the endpoint: GET https://api.atlassian.com/ex/jira/{{jira-cloud-id}}/rest/api/3/webhook
    • Response:
     {
       "maxResults": 100,
       "startAt": 0,
       "total": 1,
       "isLast": true,
       "values": [
         {
           "id": 39,
           "jqlFilter": "status = '*'",
           "events": [
             "jira:issue_updated",
             "jira:issue_created"
           ],
           "expirationDate": "2025-07-05T11:19:49.146+0530",
           "url": "https://my-app-url.com/api/v1/integrations/jira/webhooks"
         }
       ]
     }
  1. Attempt to Extend Webhook:
    • Using the endpoint: PUT https://api.atlassian.com/ex/jira/{{jira-cloud-id}}/rest/api/3/webhook/refresh
    • Payload:
     {
       "webhooks": [39]
     }

Additional Context:

  • App Setup: This is an OAuth2 (3LO) app configured in the Atlassian Developer console. The callback URL is set to https://api.my-app-url.com/api/v1/auth/atlassian-oauth2/callback, so the base URL of my app is my-app-url.com.
  • Webhook URL Issue: I noticed the webhook URL (my-app-url.com) differs from my app’s base URL (my-app-url.com). The docs state the webhook URL must use the same base URL as the app, so this might be related.
  • JQL Filter: I used jqlFilter: status = Done to apply the webhook to all issues.
  • Authentication: I am using an OAuth2 token, and I believe it has the necessary scopes (manage:jira-webhook), as the registration succeeds.
  • Environment: Jira Cloud, tested as of June 5, 2025.

What I have Tried:

  • Ensured the webhook URL uses HTTPS and is accessible.
  • Attempted to extend the webhook using the PUT /rest/api/3/webhook/refresh endpoint, but it had no effect.
  • Reviewed the docs (Webhooks, Jira Cloud REST API Webhooks), but couldn’t find a clear reason for this behavior.
  • Registering a Webhook manually from the Jira Admin Dashboard does triggers the webhook and IS WORKING.

Logs/Additional Info:

  • I can provide more details on the extend API response if needed, but it didn’t return any errors, it just did not update the expiration.
  • My webhook endpoint (my-app-url.com) is accessible and returns HTTP 200 for test requests, but I haven’t seen any incoming requests from Jira.

Hi, I am also facing the same issue. Did you find a solution for this?

Hi @HarshSingh.

I didn’t investigate your case in details, but I suspect it may be the issue with the expected OAuth scopes.

You mention only manage:jira-webhook while in order to deliver issue related webhook read:issue-details:jira is required as well as documented here.

Also please notice that the expiration date is set for July (a month from now).

Let me know if adding a missing scope helped.
Regards,
Beata