Status check reference
Lifecycle, states, and branch-policy wiring for the adopilot/ai-pr-review status check.
Last updated
ADO Pilot posts a single PR status check on every reviewed pull request. You can require it as a branch policy to gate PR completion on the AI verdict.
This page documents the check's identifier, every state it can take, and how to wire it up in Azure DevOps.
Identifier
The status check uses a fixed two-part context. Type both fields exactly as shown — the search box in branch policies is case-sensitive.
| Field | Value |
|---|---|
genre | adopilot |
name | ai-pr-review |
The combined display label in the Azure DevOps UI is adopilot/ai-pr-review.
States
ADO Pilot writes one of three states to every PR it observes. The state always reflects the latest iteration — a new push to the source branch resets the check to pending.
| State | Meaning | Description text shown in ADO |
|---|---|---|
pending | Review queued or in progress. | "AI review queued" or "AI review in progress" |
succeeded | Review complete with a PASS or ADVISORY verdict, or skipped with no review. | "AI review complete — X blockers, Y warnings, Z suggestions" (completed) / "AI review skipped — no reviewable changes" or "AI review skipped — all files excluded" (skip path) |
failed | Review complete with a FAIL verdict (one or more blockers). | "AI review complete — X blockers, Y warnings, Z suggestions" |
State transitions
pending ──► in-progress ──► succeeded
└─► failed
(skip path: pending ──► succeeded directly, no in-progress)
Empty-diff or fully-excluded PRs are detected before review starts and post succeeded directly with a skip description — no in-progress step.
Wiring as a required branch policy
Any user with Edit policies on the target branch can make the check a hard or soft gate.
- In Azure DevOps, open Project settings → Repos → Repositories, pick the repository, then open the Policies tab.
- Under Branch Policies, select the branch (for example
main). - Scroll to Status Checks and click + (add status check).
- In the Status to check picker, search for
adopilot/ai-pr-reviewand select it. - Choose how strict you want the gate to be:
- Required — the PR cannot complete until the check is
succeeded.pendingblocks completion;failedblocks until either a new push triggers a fresh review or an admin overrides the policy. - Optional — the check is visible on the PR but does not block completion.
- Required — the PR cannot complete until the check is
- Click Save.
Behavior under a required policy
| Posted state | Effect on PR completion |
|---|---|
pending | Blocked — branch policy waits for a terminal state. |
succeeded | Satisfied — PR can complete (subject to other policies). |
failed | Blocked — push a fix to re-run the review, or have an admin override. |
Description text
ADO Pilot writes a description to every status post; you can read it on the PR Overview page next to the check name.
| When | Description |
|---|---|
| Initial post | "AI review queued" |
| Active | "AI review in progress" |
| Complete | "AI review complete — X blockers, Y warnings, Z suggestions" |
| Skipped (empty diff) | "AI review skipped — no reviewable changes" |
| Skipped (all excluded) | "AI review skipped — all files excluded" |
Troubleshooting
- Check stays on
pendingfor more than 15 minutes. Reviews typically complete in 2–10 minutes; longer delays usually indicate a stuck orchestration. See Stuck review. - Old verdict still showing after a push. Azure DevOps caches the previous status until the new iteration's review finishes. Refresh the PR Overview after 1–2 minutes.
- The check doesn't appear in the branch policy picker. Confirm you typed the context exactly as
adopilot/ai-pr-review. The picker only lists statuses that have been posted at least once on a PR in that repository — open and close a test PR first if necessary. - Reviews aren't running because you've exhausted your plan. When your tenant has no review credits available, the orchestrator currently exits before posting any ADO status check — the PR shows no
adopilot/ai-pr-reviewentry at all rather than afailedstate. See Quota exceeded.