DEVOPS

On-merge deploy-correlation tracker that backfills lead time when shipped

When a GitLab MR merges it records an open lead-time entry in Postgres; a Honeycomb deploy marker later closes the matching entry with actual deploy time.

CategoryDevOps
Enginesim
Difficultyadvanced
Triggerwebhook
Steps6
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerGitLab MR merged webhookGitLabGitLab
  • ActionInsert pending lead-time row in PostgresPostgreSQLPostgres
  • ActionReceive Honeycomb deploy markerHoneycomb
  • LogicMatch deploy SHAs to open rows
  • ActionClose rows with deploy time + lead timePostgreSQLPostgres
  • OutputNotify team in Slack on production arrivalSlack

What it does

Measures true change lead time by tracking each merged MR until it actually reaches production. On merge, it opens a pending lead-time record keyed by commit SHA in Postgres. When Honeycomb later signals a deploy containing that SHA, the workflow closes the record with the deploy timestamp, yielding precise per-change merge-to-deploy duration even when merges and deploys are decoupled.

When to use it

Use this when deploys lag merges unpredictably (batched releases, manual promotion) and SHA-range joins in a nightly batch would be lossy. It gives you accurate lead time per change rather than an approximation.

How it works

  1. 1A GitLab merge-request webhook trigger fires on each merged MR.
  2. 2Action inserts a pending lead-time row (SHA, team, merge time) into Postgres.
  3. 3A second path: a Honeycomb deploy marker arrives.
  4. 4Logic step matches the deploy's commit SHAs to open Postgres rows.
  5. 5Action updates matched rows with deploy time and computed lead time.
  6. 6Output notifies the team channel in Slack when a change reaches production.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitLabRepos, MRs, pipelines, registry.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Connect HoneycombDistributed traces and queries.
  4. 4
    Connect SlackChannels, DMs, threads, mentions.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.