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.
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
What does WebRun do on every run?
The exact actions WebRun takes, in order - in plain language, so you can adjust anything.
-
WebRun signs in and gets to work
Opens
dev.azure.comin a real browser with your saved login - no setup, no API keys. -
1
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.
-
2
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.
-
3
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.
How is each run configured?
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.
Every action is checked against this policy before it runs.
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.