Track GitHub Actions deployments on a shared timeline

GitHub gives you a list of workflow runs, one repository at a time. What it cannot tell you is whether the alert that fired this afternoon followed a deploy from a different service. Kollaber records each workflow deploy as an event on one timeline, so the deploy and the alert that followed it sit next to each other.

What lands on the timeline

Service
The repository the workflow ran in.
Version
The commit SHA that was deployed.
Author
The actor who triggered the workflow.
Ref
The branch or tag the deploy came from.

Setup

  1. 1Store your environment ID as a secret

    Find the environment UUID on the dashboard under your environment settings, then add it to the repository as a secret named KOLLABER_ENV_ID.

  2. 2Add a step to the end of your deploy job

    The webhook endpoint takes a plain JSON body and needs no authentication, so a single curl step is the whole integration.

    - name: Notify Kollaber
      run: |
        curl -sS -X POST https://kollaber.io/webhooks/events \
          -H "Content-Type: application/json" \
          -d '{
            "type": "deploy",
            "service": "${{ github.repository }}",
            "environment_id": "${{ secrets.KOLLABER_ENV_ID }}",
            "metadata": {
              "version": "${{ github.sha }}",
              "author": "${{ github.actor }}",
              "ref": "${{ github.ref }}"
            }
          }'
  3. 3Run the workflow

    The deploy appears on the environment timeline immediately over SSE — no refresh, no polling.

Good to know

  • The metadata object is free-form. Anything you add is stored on the event and shown on the timeline, so build numbers, changelog links, and approver names all work.
  • Run the step with `if: always()` and send a status field if you want failed deploys recorded too — failures are what DORA change failure rate is computed from.

Questions

Does this need a GitHub App or marketplace action?

No. The endpoint accepts a plain JSON POST, so a curl step is enough. There is nothing to install and no OAuth flow to approve.

Can one repository deploy to several environments?

Yes. The environment is chosen by the environment_id in the body, so pass a different secret per job or per matrix leg to split staging from production.

Do these deploys count toward DORA metrics?

Yes. Events of type deploy feed deployment frequency and lead time, and failed deploys feed change failure rate.

Other integrations

Start recording GitHub Actions changes

The free plan covers two environments and five members. The full reference for this integration lives in the docs.