GitHub CI/CD Webhook Integration :: Kloudfuse Docs

GitHub CI/CD Webhook Integration

Kloudfuse ingests event streams from GitHub using webhooks, enabling you to monitor repository activity, correlate deployment events with application performance, and track CI/CD pipeline execution alongside your infrastructure telemetry.

Overview

When a GitHub event occurs — such as a push, pull request, workflow run, or deployment — GitHub delivers a JSON payload to the Kloudfuse ingestion endpoint over HTTPS. Kloudfuse stores these events and makes them queryable alongside metrics, logs, and traces.

GitHub supports several webhook scopes:

Webhook type When to use it
Repository webhook Monitor a single repository — the most common setup.
Organization webhook Monitor all repositories in an organization from a single webhook.
GitHub App webhook Deliver events for all installations of a GitHub App.
GitHub Marketplace webhook Receive events for GitHub Marketplace purchases.
GitHub Sponsors webhook Receive events for sponsorship activity.

The steps below configure a repository webhook. For other webhook types, follow the same payload URL and content-type settings in the respective GitHub configuration page.

Prerequisites

Configure the GitHub Webhook

  1. Sign in to GitHub and navigate to the repository you want to monitor.

  2. Open Settings > Webhooks, then click Add webhook.

GitHub may prompt you to confirm your password.

  1. In the Payload URL field, enter your Kloudfuse ingestion endpoint:
   https://<kloudfuse-hostname>/ingester/github/events

Replace <kloudfuse-hostname> with the external hostname of your Kloudfuse cluster.

  1. Set Content type to application/json.

  2. If ingestion authentication is enabled on your cluster, expand Add header and add:

Header name Value
Kf-Api-Key Your API key token from Ingestion Authentication with API Key
  1. Under Which events would you like to trigger this webhook?, select Send me everything.

This forwards all GitHub event types to Kloudfuse. Alternatively, select Let me select individual events and choose the events relevant to your observability goals (for example, push, pull_request, workflow_run, deployment, deployment_status).

  1. Ensure Active is checked, then click Add webhook.

GitHub immediately sends a ping event to confirm the webhook is reachable. A green checkmark on the webhook’s Recent Deliveries tab confirms Kloudfuse received it.

Verify Events Are Arriving

After triggering a GitHub action (for example, opening a pull request), confirm events are arriving in the Kloudfuse UI:

  1. Click the Events tab, then select List from the drop-down menu.

  2. In the Filters panel on the left, locate the Source facet and select github, or type github in the Search Events search bar to filter by source.

  3. Set the time range to the last 15 minutes using the interval picker in the top-right corner.

  4. Confirm that GitHub events appear in the list. Each event shows a human-readable Title (for example, demo-user push on demo-org/demo-repo) and a Source of github.

  5. Click any event row to open the Detail view. The full webhook payload is available in the Message field, and the Facets section displays parsed fields such as eventType (for example, github.push or github.pull_request).

  6. To narrow results to a specific event type, click the eventType value in the Facets section of the Detail view and choose Filter By.

Troubleshooting

Ping Event Shows an Error

If the ping delivery on the webhook’s Recent Deliveries tab shows a non-2xx response or a connection error:

Deliveries Return 401 Unauthorized

If delivery responses show HTTP 401:

Events Delivered Successfully but Not Visible in Kloudfuse

Expected Fields Are Missing from Events

GitHub webhook payloads differ by event type. The fields available in Kloudfuse reflect what GitHub sends in each payload. Refer to the GitHub Webhook Events and Payloads reference to confirm which fields are included for each event type.

External References