Webhooks

Receive HTTP notifications when test runs complete or coverage reports are uploaded. Integrate Gaffer with your monitoring, automation, and alerting systems.

Webhooks send HTTP POST requests to your endpoint when events occur in Gaffer. Use them to integrate test results with your monitoring tools, trigger deployments, update dashboards, or build custom notification flows.

Features

  • Test run and coverage events — receive notifications for either or both event types
  • Branch filtering — only trigger for specific branches using glob patterns
  • Configurable triggers — fire on all events, failures only, or after consecutive failures
  • HMAC-SHA256 signing — verify that payloads are from Gaffer
  • Test delivery — send a test payload from the dashboard to verify your endpoint

Creating a Webhook

  1. Navigate to Settings > Webhooks in your Gaffer dashboard
  2. Click "Add Webhook"
  3. Enter a name and HTTPS endpoint URL
  4. Configure notification settings (event types, trigger mode, branch filters)
  5. Click "Create"

Gaffer generates an HMAC signing secret automatically when you create a webhook. The signing secret is displayed once at creation — store it securely, as it cannot be retrieved later. You can regenerate the secret from the webhook settings if needed.

Configuration

Event Types

Choose which events trigger the webhook:

  • Test runs — fires when a test run completes
  • Coverage reports — fires when a coverage report is uploaded

At least one event type must be enabled.

Notification Triggers

Control when test run webhooks fire:

  • All test runs — fire on every completed test run
  • Failures only — only fire when tests fail
  • Consecutive failures — only fire after N consecutive failures (configurable, 1-10). Useful for filtering out one-off flakes

Coverage events always fire when enabled — trigger settings only apply to test runs.

Branch Filters

Restrict which branches trigger the webhook using glob patterns:

  • main — exact match
  • release/* — matches release/v1.0, release/2024-01, etc.
  • feature-* — matches feature-auth, feature-dashboard, etc.

Leave branch filters empty to receive events for all branches.

Project Scope

Webhooks can be scoped to a specific project or apply to all projects in your organization. Organization-wide webhooks receive events from every project.

Payload Format

Test Run Event

test_run event