All templates

Automated Azure DevOps Stale PR Chasing

Every morning, WebRun opens Azure DevOps, reads the open pull requests across your repositories, works out which ones are aging without a review and which reviewer owes each one, drafts a Gmail nudge for the worst offenders, and posts the chase list to Slack with reviewers named.

Runs on WebRun · Strict Lockdown policy
Every day at 8:00 AM WebRunorchestrates each step
1 Azure DevOps find pull requests going stale
2 Gmail draft a nudge for the worst
3 Slack post who owes each review
In short

How do I stop pull requests sitting unreviewed for days?

Every morning, WebRun opens Azure DevOps, reads the open pull requests across your repositories, and works out which ones are aging without a review and who owes each one. It posts the chase list to Slack with the reviewer named and drafts a Gmail nudge, so work stops queueing behind an unopened request.

  • Reviews get chased in the morning instead of at the retro
  • Every stale pull request names the reviewer who owes it
  • Blocked required reviewers are identified from branch policy

Built for engineering managers · team leads · platform teams · software developers

Step by step

What does WebRun do on every run?

The exact actions WebRun takes, in order - in plain language, so you can adjust anything.

  1. WebRun signs in and gets to work

    Opens dev.azure.com in a real browser with your saved login - no setup, no API keys.

  2. 1
    Azure DevOps - find pull requests going stale
    dev.azure.com
    WebRun in Azure DevOps: find pull requests going stale
    WebRun opens Azure DevOps to find pull requests going stale.
    • Open Azure DevOps and list the active pull requests across your repositories
    • For each one, capture the author, the reviewers, and the time since it was opened
    • Note which reviews are still waiting for a first look and which have comments outstanding
    • Read the branch policies to see which required reviewers are still missing
    • Flag pull requests older than two days with no reviewer activity at all
    • Note the work items linked to each stale pull request so the delivery impact is visible

    Done when Every open pull request is listed with its age, its reviewers, and its blocking policy.

  3. 2
    Gmail - draft a nudge for the worst
    gmail.com
    WebRun in Gmail: draft a nudge for the worst
    WebRun opens Gmail to draft a nudge for the worst.
    • Draft an email to the reviewer on any pull request sitting untouched for more than five days
    • Name the pull request, the author waiting, and the linked work item
    • Leave every email in Drafts. WebRun never sends it, and it never approves, comments on, or merges a pull request

    Done when A nudge to each slow reviewer sits in Drafts, unsent.

  4. 3
    Slack - post who owes each review
    slack.com
    WebRun in Slack: post who owes each review
    WebRun opens Slack to post who owes each review.
    • Post the chase list to your engineering channel with the oldest pull request first
    • Show the author, the age, the reviewer who owes the look, and the linked work item
    • Group by reviewer so each person sees their own queue in one place
    • Say clearly when no pull request is stale, so the channel is not noise

    Done when The team has today's review chase list grouped by reviewer in Slack.

Run settings

How is each run configured?

Starting pageWhere Chrome opens at the start of each run
dev.azure.com
ScheduleRuns automatically on this cadence
Every day at 8:00 AM
DeliveryHow each run's result reaches you
Review chase list · Slack
OutputWhat each run produces - Open pull requests ranked by age, with the author, the reviewer who owes the look, and the policy still blocking merge.
Text
Setup & safety

Secure by default

Connect once, stays signed in

WebRun signs in once and keeps each session in a persistent environment, so every run picks up right where it left off.

Your credentials stay in your own private environment - WebRun never stores your passwords.
Strict Lockdown

Every action is checked against this policy before it runs.

Domains ALLOWLIST
Typed input ALLOW
Shell command BLOCK
File uploads BLOCK
Runs in a contained environment More on policies
Good to know

Questions, answered

Will it approve or merge pull requests?

No. WebRun never approves, comments on, or merges anything. It reports which reviews are aging and who owes them, and the Gmail nudge it writes waits in Drafts until you send it.

When does a pull request count as stale?

After two days with no reviewer activity it appears on the Slack list, and after five days untouched it also gets a drafted email nudge to the reviewer who owes the look.

Does it know which reviewer is required?

Yes. It reads the branch policies on each repository, so a pull request blocked on a required reviewer is listed with that person named rather than the whole team.

Put this on autopilot.

Turn it on in minutes - or have our team set it up for you.