logo

CALLGOOSE

Buildkite

Overview

This document provides a detailed guide to integrating Buildkite with Callgoose SQIBS for real-time Incident Management, automated tracking of build/job failures, and event-driven automation. The integration uses Buildkite webhooks to send event payloads (build/job/pipeline events) directly to Callgoose, where API Filters convert them into incidents that are automatically created and resolved.

Prerequisites

Before beginning, ensure you have the following:

  • A Callgoose SQIBS account with permissions to create API Filters and access the integration endpoint.
  • A Buildkite organization or pipeline admin role.
  • A valid Callgoose API token and webhook endpoint URL.
  • A test Buildkite pipeline (recommended) for validating webhook delivery and payloads.

1. Prepare Callgoose: Obtain Endpoint and Token

1.1 Retrieve Callgoose API Endpoint

Generate or locate your Callgoose process endpoint:

https://****.callgoose.com/v1/process?from=Buildkite&token=xxxx

Store the API token securely and never commit it to source control.

2. Configure Buildkite Webhook

2.1 Choose the Webhook Scope

You can configure the webhook at:

  • Organization level:
  • Organization Settings → Integrations → Notification Services → Add (Webhook)
  • Pipeline level:
  • Pipeline Settings → Notifications → Add Webhook

Buildkite allows sending events for builds, jobs, pipelines, and test engine events.

2.2 Configure Webhook Fields

Set the following options:

  • Webhook URL: Callgoose endpoint from Step 1
  • Secret / Token: Use the Callgoose token (Buildkite adds it as X-Buildkite-Token)
  • Events: Common options include:
  • build.finished
  • job.finished
  • build.started
  • pipeline.triggered
  • Save and enable the webhook.

2.3 Verification Headers

Buildkite sends additional security headers:

  • X-Buildkite-Token — The configured webhook token
  • X-Buildkite-Signature — HMAC-SHA256 signature of the raw payload

If you use a middleware receiver, you can validate these signatures before forwarding to Callgoose.

3. Example Buildkite Payloads

A simplified example Buildkite event body:

{
  "event": "build.finished",
  "build": {
    "id": "build-uuid",
    "number": 42,
    "state": "failed",
    "started_at": "2025-10-01T12:01:00Z",
    "finished_at": "2025-10-01T12:05:00Z"
  },
  "pipeline": {
    "id": "pipeline-uuid",
    "slug": "org/app-backend"
  },
  "sender": {
    "id": "user-uuid",
    "name": "CI Bot"
  }
}

Inspect your actual payloads inside Callgoose Api log and use those fields in your API Filter mappings.

4. Create API Filters in Callgoose SQIBS

Callgoose API Filters convert incoming Buildkite webhooks into incidents.

Use two filters: Trigger Filter (create incident) and Resolve Filter (auto-resolve).

4.1 Trigger Filter — Create Incident

Use these settings:

  • Payload JSON Key: event
  • Key Value Contains: build.finished
  • Additional Condition: build.state contains [failed, canceled]
  • Map Incident With: build.id
  • Incident Title From: pipeline.slug
  • Incident Description From: Optional build.url or the full JSON payload

5. Verify & Test the Integration

5.1 Test Initial Delivery

  • Create a broad test filter in Callgoose
  • Trigger a Buildkite test event
  • Confirm Callgoose receives the payload in API Logs

5.2 View Exact Payload

  • Use Callgoose’s API request logs to see the real JSON payload.
  • Copy field names directly from these logs for accurate filter configuration.

5.3 Final Verification

  • Trigger a failing build → incident should be created
  • Re-run a passing build → incident should be auto-resolved
  • Confirm mapping consistency using build.id

6. Troubleshooting

Incoming Payload Not Received

  • Check Buildkite Webhook Logs
  • Verify the endpoint URL and token
  • Ensure Callgoose was not blocking due to filter mismatch

Incidents Not Auto-Resolving

  • Confirm build.state exact value (e.g., passed, not success)
  • Ensure the same build.id is used in both Trigger and Resolve filters

Wrong or Missing Payload Fields

  • Inspect live payloads in Buildkite → Webhook Logs
  • Update API Filters to match the exact field structure
  • Re-test using a failing and then passing build

7. Conclusion

Integrating Buildkite with Callgoose SQIBS enables fully automated incident creation and resolution based on CI/CD pipeline behavior. By configuring Buildkite webhooks and mapping them through Callgoose API Filters, teams gain real-time visibility into build failures, deployment problems, and workflow issues. With clean Trigger and Resolve filters, this integration ensures that any pipeline failure instantly becomes an actionable incident, and successful reruns automatically close the loop—streamlining DevOps and improving reliability.

For further customization or advanced use cases, refer to the official documentation for both Buildkite and Callgoose SQIBS:

CALLGOOSE
SQIBS

Advanced Automation platform with effective On-Call schedule, real-time Incident Management and Incident Response capabilities that keep your organization more resilient, reliable, and always on

Callgoose SQIBS can Integrate with any applications or tools you use. It can be monitoring, ticketing, ITSM, log management, error tracking, ChatOps, collaboration tools or any applications

Callgoose providing the Plans with Unique features and advanced features for every business needs at the most affordable price.



Unique Features

  • 30+ languages supported
  • IVR for Phone call notifications
  • Dedicated caller id
  • Advanced API & Email filter
  • Tag based maintenance mode
Book a Demo

Signup for a freemium plan today &
Experience the results.

No credit card required