DEV Community

Cover image for We Built Our Own AI PR Reviewer for Azure DevOps — Then Benchmarked It Against CodeRabbit and Friends
Vignesh Athiappan
Vignesh Athiappan

Posted on

We Built Our Own AI PR Reviewer for Azure DevOps — Then Benchmarked It Against CodeRabbit and Friends

An honest comparison between a single-file, homegrown review desk and the commercial AI code review tools — four tables, no marketing.


The goal I was trying to achieve

Our team is small — three people handling support and development — and our pull request hygiene had a traceability problem. PRs were getting merged with no work items linked, no reviewer approvals, and empty descriptions. When a bug shipped, tracing it back to a requirement was often impossible.

Azure DevOps branch policies could block bad merges, but policies are blunt: they allow or they don't. What I actually wanted was a review desk — something that could take any PR on demand and answer, in one screen:

  1. Is this PR mapped to a ticket? And not just linked — does the code actually implement what the ticket's description and acceptance criteria ask for?
  2. Has a human genuinely reviewed it? Assigned reviewers who never voted don't count.
  3. Is the code sound? Standards, security, edge cases, null safety — plus basic test cases mentally executed against the code.
  4. Is there proof? A review that lives only in a browser tab proves nothing. The verdict had to be written back to Azure DevOps — as comment threads and a PR status — so the audit trail lives where the code lives.

So I built Gatekeeper: a single self-contained HTML file. You paste your org, project, PAT, and a PR ID. It stamps four deterministic compliance gates, then runs four AI analysis streams in parallel (ticket relevance, code standards & security, edge/null-case audit, test simulation), each rendering the moment it finishes. One click publishes the whole review back to the PR.

The obvious question followed: how does this compare to the commercial tools — CodeRabbit, Qodo Merge, CodeAnt AI? I dug into their current docs, pricing, and the independent benchmark data that exists. Here's the honest answer, in four tables.


Table 1 — Head-to-head: features

Dimension Gatekeeper (homegrown) CodeRabbit Qodo Merge CodeAnt AI
Trigger model On-demand — you enter a PR ID Automatic on every PR open/update Automatic on every PR Automatic on every PR
Azure DevOps support Native — built directly on the ADO REST API Supported (alongside GitHub, GitLab, Bitbucket), but auto-fix is less frictionless on ADO — fixes arrive as code blocks you apply manually Supports all four major platforms Built from the start for all four platforms, no platform hierarchy
Code context depth Changed files only — up to 8 files, ~45K chars per review Semantic index of the entire codebase with a full dependency graph Diff-focused, open-source core Full-repo scanning
Ticket / requirement validation Deep — pulls work item descriptions, acceptance criteria and repro steps; scores code-vs-ticket alignment 0–100; lists gaps and out-of-scope changes Issue Planner (2026 beta) integrates Linear, Jira, GitHub Issues, GitLab — planning-oriented, and notably no native ADO work item validation Ticket compliance labels against Jira/GitHub issues Basic
Compliance gates (tickets mapped, reviewer sign-off, description quality) Yes — deterministic, stamped verdicts; this is the core feature No — assumes branch policies handle governance No No
Test analysis Simulated — derives concrete cases, predicts pass/fail with reasoning Generates actual unit tests for changed code paths Test generation (its core strength, especially in-IDE) No
Static analysis / linters None — pure LLM review 40+ built-in linters and security scanners, SAST integration Some SAST plus dependency scanning with auto-fix PRs
Auto-fix Suggested fixes as text One-click commit on GitHub; manual apply on ADO Suggestions Auto-opens PRs to update vulnerable dependencies
Write-back / proof of review Summary thread + file-anchored finding threads + PR status (ai-review: succeeded/failed) Inline comments, native Inline comments Inline comments
Price $0 + the AI tokens you already pay for Free tier; Lite ~$12; Pro ~$24/dev/mo; Pro Plus ~$48 with per-developer review caps ~$19/dev/mo, open-source core, self-hostable ~$24–40/user/mo

Table 2 — Security & data handling: where the homegrown tool genuinely wins

Aspect Gatekeeper Typical commercial tool (CodeRabbit as the example)
Code storage Never stored — page memory only, gone on refresh Stores code for a retention window (reported at 7 days)
Bring your own key (BYOK) Yes by design — your Anthropic key, or your own Azure OpenAI deployment Not supported
Does data leave your tenant? Optional — in Azure OpenAI mode, code never leaves your Azure tenant Yes — code goes to the vendor's infrastructure
Third-party vendor access None — browser → Azure DevOps → your AI endpoint, no middleman Vendor holds read access to your repositories
Human approval before comments post You click Publish; every write is logged live Auto-publishes all AI comments with no human approval step
Credential model PAT and AI keys live in page memory only; never in localStorage, cookies, or any server OAuth/app installation with standing repo access

For teams with sensitive code, that second table is often the deciding one — not the feature list.


Table 3 — The published benchmark numbers that exist

There's exactly one widely-cited independent measurement in this space right now, and it's worth calibrating against:

Tool Reported result (2026 Martian AI code review benchmark) The trade-off it reveals
CodeRabbit Ranked first in precision at ~49.2% — roughly one in two comments directly adoptable Low noise: ~2 false positives in the test set
Greptile ~82% bug detection rate Much noisier: ~11 false positives — high recall bought with reviewer fatigue
Gatekeeper No published benchmark — it's an internal tool Honest assumption: raw bug-detection precision below a tuned commercial product, because it reviews a sample of files without full-codebase context

Precision vs. recall vs. noise is the entire game in AI code review. A tool that finds everything but cries wolf eleven times per PR trains your team to ignore it.


Table 4 — The honest scorecard

Capability Gatekeeper Commercial best-in-class
Raw bug detection depth ●●○○○ ●●●●○
Ticket-relevance validation against ADO work items ●●●●● ●●○○○
Process / compliance enforcement ●●●●● ●○○○○
Data privacy / credential model ●●●●● ●●○○○
Automation (zero-touch on every PR) ●○○○○ ●●●●●
Codebase-wide context ●○○○○ ●●●●○
Cost ●●●●● ●●●○○

No spin: the commercial tools are better bug-catchers. The homegrown tool is a better governor — and on Azure DevOps specifically, nothing commercial validates code against your actual work items' acceptance criteria the way a purpose-built prompt can.


How to benchmark this yourself in 30 minutes

Published numbers are measured on someone else's code. Here's the test that actually matters — run it on your stack:

  1. Create one test PR with 10 seeded defects you know about: 2 hardcoded secrets, 3 null-dereference paths, 2 changes no ticket explains, 2 missing-error-handling spots, 1 logic bug.
  2. Run your tool and a commercial free trial against the same PR.
  3. Score each: found / missed / false positives.

That gives you precision and recall on your codebase, your languages, your ticket style. It's worth more than any vendor benchmark, and it takes half an hour.


The bottom line

These aren't really competitors. CodeRabbit-class tools are automated bug-catching nets stretched over every PR. A tool like Gatekeeper is a governance-first review desk: deterministic compliance stamps, deep ticket-alignment auditing, and auditable proof written back into DevOps — with a security model (no code storage, BYOK, everything in your own tenant if you want) that no SaaS reviewer matches.

For a small team, the strongest setup is probably both: an open-source-core tool like Qodo Merge for automatic per-PR review, and the homegrown desk for the compliance stamp and the "does this code actually do what the ticket asked?" audit.

And the meta-lesson: a single HTML file, four parallel LLM prompts, and the Azure DevOps REST API got us 80% of the way to a product category that charges $24 per developer per month. The remaining 20% — full-codebase context, always-on automation, tuned precision — is exactly what you're paying those vendors for. Know which 20% you actually need before you pay for it.


Pricing and benchmark figures are as publicly reported in mid-2026 and will drift — verify against vendor pages before deciding.

Top comments (0)