How to Debug Jira Webhooks

Jira webhooks notify your application about issue updates, sprint changes, project modifications, and board events. They are essential for building integrations between Jira and external project management or development tools.

What are Jira Webhooks?

Jira webhooks are HTTP POST requests that Jira sends to your server when specific events occur in your account. Rather than continuously polling the Jira API for updates, webhooks deliver real-time notifications the moment something happens — a payment completes, a user signs up, a deployment finishes, or any other tracked event.

Debugging these webhooks can be challenging because they originate from Jira's servers, not your browser. You can't simply open DevTools to inspect them. That's where WebhookVault comes in — capture every Jira webhook, inspect the full payload and headers, and replay them to your local development server.

Common Jira Webhook Events

EventDescription
jira:issue_createdFired when a new issue is created in a project
jira:issue_updatedFired when an issue's fields are modified
sprint_startedFired when a sprint is started in a Scrum board
comment_createdFired when a comment is added to an issue

Setting Up Jira Webhooks with WebhookVault

Follow these steps to start capturing and debugging Jira webhooks using WebhookVault.

1Create a WebhookVault endpoint

Sign up for a free WebhookVault API key and create an endpoint to capture Jira webhooks.

curl -X POST https://webhookvault.anethoth.com/api/v1/endpoints \
  -H "Authorization: Bearer wv_your_key" \
  -H "Content-Type: application/json" \
  -d '{"name": "Jira Webhooks"}'

# Response:
# {"url": "https://webhookvault.anethoth.com/hook/abc123", "inspect_url": "https://webhookvault.anethoth.com/inspect/abc123"}

2Configure Jira to send webhooks

Go to Jira Settings > System > Webhooks (requires admin access) Click 'Create a Webhook' and enter your WebhookVault URL Configure the JQL filter to select which issues trigger webhooks Select the events you want to subscribe to and save

3Inspect captured requests

Once Jira sends a webhook, you can inspect every detail through the WebhookVault API or web inspector.

curl https://webhookvault.anethoth.com/api/v1/endpoints/abc123/requests \
  -H "Authorization: Bearer wv_your_key"

# Returns all captured Jira webhook requests with full headers, body, and metadata

4Replay to your local server

Replay any captured Jira webhook to your local development server for testing.

curl -X POST https://webhookvault.anethoth.com/api/v1/endpoints/abc123/requests/1/replay \
  -H "Authorization: Bearer wv_your_key" \
  -H "Content-Type: application/json" \
  -d '{"url": "http://localhost:3000/webhook"}'

# The original Jira webhook is replayed to your local server

Sample Jira Webhook Payload

Here is an example of a typical Jira webhook payload. Use WebhookVault to capture real payloads from your Jira account for accurate testing.

{
  "webhookEvent": "jira:issue_created",
  "timestamp": 1706000000,
  "issue": {
    "id": "10001",
    "key": "PROJ-123",
    "fields": {
      "summary": "Implement user authentication",
      "status": {
        "name": "To Do"
      },
      "priority": {
        "name": "High"
      },
      "assignee": {
        "displayName": "John Doe"
      },
      "issuetype": {
        "name": "Story"
      },
      "project": {
        "key": "PROJ"
      }
    }
  },
  "user": {
    "displayName": "Jane Smith"
  }
}

Common Jira Webhook Issues

Here are the most common issues developers encounter when working with Jira webhooks, and how to resolve them.

Large payloads

Jira webhooks can include the full issue object with all fields. This can result in very large payloads for issues with many custom fields.

JQL filter syntax

The JQL filter determines which issues trigger webhooks. Test your JQL in Jira's search first to ensure it matches correctly.

Webhook firing delays

Jira may batch or delay webhook deliveries during high-load periods. Don't rely on real-time delivery.

Authentication for Jira Cloud vs. Server

Jira Cloud and Jira Server/Data Center have different webhook configuration paths and capabilities.

Frequently Asked Questions

What are Jira webhooks?

Jira webhooks are HTTP callbacks that Jira sends to your server when specific events occur. Instead of polling the Jira API for changes, webhooks push real-time notifications to your application, making your integration more efficient and responsive.

How do I test Jira webhooks locally?

Use WebhookVault to capture Jira webhooks in the cloud, then replay them to your localhost. Create a WebhookVault endpoint, configure Jira to send webhooks to it, and use the replay API to forward captured requests to http://localhost:3000/webhook (or your local port).

How do I verify Jira webhook signatures?

Most webhook providers, including Jira, sign their webhook payloads to prove authenticity. Check the Jira documentation for the specific signature header and verification algorithm. Use WebhookVault to capture and inspect the raw headers to debug signature verification issues.

Why is WebhookVault better than ngrok for Jira webhook testing?

Unlike ngrok, WebhookVault captures and stores every webhook request with full headers and payloads. You can replay any Jira webhook to your local server as many times as needed, inspect historical requests, and share webhook data with your team. No tunnel to maintain or port to expose.

Start debugging Jira webhooks now

Create a free WebhookVault endpoint in seconds. Capture, inspect, and replay Jira webhooks with zero configuration.

Get Free API Key