ENGINEERING

Reassign stale GitLab reviews on a schedule

On a recurring schedule, finds merge requests whose assigned reviewer has gone quiet past an SLA window and reassigns them to the next-lightest code owner.

CategoryEngineering
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerScheduled sweep every few hours
  • ActionList open MRs and last review activityGitLabGitLab
  • LogicKeep MRs idle past SLA window
  • ActionRank alternate owners by queue depthPostgreSQLPostgres
  • ActionReassign MR and update ledgerGitLabGitLab
  • OutputNotify new and prior reviewers in SlackSlack

What it does

This workflow runs on a timer, scans every open merge request, and flags any where the assigned reviewer has not commented, approved, or requested changes within your SLA window. For each stale MR it rebalances the work to a different eligible owner with a lighter load and notifies everyone involved.

When to use it

Run it when reviews routinely stall because a reviewer went on leave, got pulled onto an incident, or simply lost the thread. It recovers blocked MRs without an engineering manager manually auditing the board.

How it works

  1. 1A schedule trigger fires every few hours during working hours.
  2. 2The workflow lists open MRs from GitLab and reads the last review activity timestamp on each.
  3. 3A logic step keeps only MRs idle longer than the configured SLA.
  4. 4For each stale MR it queries Postgres for alternate code owners ranked by current queue depth.
  5. 5It reassigns the MR to the lightest alternate via GitLab and updates the assignment ledger.
  6. 6Slack pings the new reviewer with the MR and DMs the prior reviewer a heads-up that it was handed off.

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 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.