SECOPS

Escalate Security-Labeled GitLab MRs Breaching Review SLA

On a schedule, finds open GitLab merge requests carrying a security label that have exceeded their review SLA and escalates the oldest offenders to PagerDuty while pinging…

CategorySecOps
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSchedule every 30 minutes (business hours)
  • ActionQuery open security-labeled MRsGitLabGitLab
  • LogicCompute elapsed time vs SLA tier table
  • ActionOpen PagerDuty incident for breached critical MRsPagerDutyPagerDuty
  • OutputSlack nudge reviewer group on every breachSlack

What it does

Polls for security-flagged merge requests that have been waiting longer than their tier's review SLA and escalates them before they silently rot, turning an invisible queue into an accountable one.

When to use it

Use this when security MRs have a defined turnaround target (e.g. critical = 4h, high = 1 business day) and you need automatic escalation instead of relying on reviewers to self-police.

How it works

  1. 1A scheduled trigger runs every 30 minutes during business hours.
  2. 2The flow queries GitLab for all open MRs labeled `sec/critical`, `sec/high`, or `sec/standard`.
  3. 3For each MR it computes time-since-labeled and compares against the SLA table for that tier.
  4. 4A branch splits breached MRs from healthy ones.
  5. 5Breached critical MRs trigger a PagerDuty incident; all breaches get a threaded Slack nudge tagging the assigned reviewer group with the elapsed time and MR link.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitLabRepos, MRs, pipelines, registry.
  2. 2
    Connect PagerDutyIncidents, on-call, escalations.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    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.