Claude reviews every pull request on GitHub, GitLab, and Bitbucket — all triggered from your Azure DevOps pipeline. No servers to manage. No webhooks to configure.
Three actions — reviewPR, createPR, commentPR — covering the full pull request lifecycle from your pipeline.
Claude reads your diff and posts a structured comment on the PR — covering bugs, security issues, performance, and style. Not a general suggestion: a real review.
AI posts findings directly on changed lines with one-click fix suggestions. GitHub displays them as native ```suggestion blocks — developers can commit fixes instantly. Works on all platforms.
Review each changed file individually, then synthesise findings into a consolidated PR assessment. Better signal on large, noisy diffs.
Run on Anthropic direct, Azure AI Foundry, Azure OpenAI, AWS Bedrock, Google Vertex AI, Google AI Studio, GitHub Models, or your own LiteLLM proxy. Your infrastructure, your choice.
Open a PR on any git host directly from your pipeline, with optional AI review on creation. Sets output variables for downstream steps.
Expose ReviewVerdict, ReviewTotalIssues, and ReviewSummary for downstream gates and notifications.
Post build results, test coverage, or any markdown content on a PR. Comments are tagged so reviewers know what's human and what's automated.
Connect to any major git host and run the model wherever your team already has credentials.
Add the task to any existing pipeline and it just works.
Add your git host token and AI provider credentials to an Azure DevOps variable group. Mark them as secret. Done.
Add AiPrReviewer@1 to your YAML, set your provider, repository, and PR number. That's it.
The pipeline fetches the diff, sends it to Claude, and posts a structured review comment on your PR automatically.
AI findings appear directly on changed lines in your pull request — with one-click fix suggestions developers can commit instantly.
Pick your providers, action, and options — get a ready-to-paste snippet.
AI comments appear as native inline review comments with one-click ```suggestion fix blocks. Supported on GitHub, GitLab, and Bitbucket.
Different teams have different needs. Find your perfect match based on budget, quality, and scale.
Security-critical code, high confidence needed
200+ PRs/month, cost-conscious
1,000+ line PRs, architecture changes
Pre-review filtering, high volume
| Model | Context | Quality | Small PRs (5 files) |
Medium PRs (10 files) |
Large PRs (20 files) |
|---|---|---|---|---|---|
| Claude Sonnet 4 DEFAULT | 200K | ⭐⭐⭐⭐⭐ | $105 | $140 | $280 |
| GPT-4o | 128K | ⭐⭐⭐⭐½ | $72 | $98 | $196 |
| Gemini 1.5 Pro 2M CONTEXT | 2M | ⭐⭐⭐⭐ | $36 | $49 | $98 |
| Gemini 1.5 Flash | 1M | ⭐⭐⭐½ | $2 | $3 | $6 |
| DeepSeek V3 | 64K | ⭐⭐⭐⭐ | $7 | $10 | $20 |
Use Claude Sonnet for main branch (security-critical) and GPT-4o for feature branches. Save 50% while maintaining quality where it matters.
Detailed analysis, real-world examples, migration guides & more
Ready-to-use YAML for every provider combination.
trigger: none pr: branches: include: [main] variables: - group: ai-reviewer-secrets # GITHUB_PAT + ANTHROPIC_API_KEY pool: vmImage: ubuntu-latest steps: - task: AiPrReviewer@1 inputs: action: reviewPR provider: github accessToken: $(GITHUB_PAT) repository: myorg/myrepo # ← change this prNumber: $(System.PullRequest.PullRequestNumber) enableAiReview: true aiApiKey: $(ANTHROPIC_API_KEY) aiModel: claude-sonnet-4-6
trigger: none pr: branches: include: [main] variables: - group: ai-reviewer-secrets # GITLAB_PAT + ANTHROPIC_API_KEY pool: vmImage: ubuntu-latest steps: - task: AiPrReviewer@1 inputs: action: reviewPR provider: gitlab accessToken: $(GITLAB_PAT) repository: mygroup/myproject # ← change this # serverUrl: https://gitlab.mycompany.com # self-hosted only prNumber: $(System.PullRequest.PullRequestNumber) enableAiReview: true aiApiKey: $(ANTHROPIC_API_KEY) aiModel: claude-sonnet-4-6
trigger: none pr: branches: include: [main] variables: - group: ai-reviewer-secrets # BITBUCKET_USERNAME + BITBUCKET_APP_PASSWORD + ANTHROPIC_API_KEY pool: vmImage: ubuntu-latest steps: - task: AiPrReviewer@1 inputs: action: reviewPR provider: bitbucket accessToken: $(BITBUCKET_USERNAME):$(BITBUCKET_APP_PASSWORD) repository: myworkspace/myrepo # ← change this prNumber: $(System.PullRequest.PullRequestNumber) enableAiReview: true aiApiKey: $(ANTHROPIC_API_KEY) aiModel: claude-sonnet-4-6
steps: - task: AiPrReviewer@1 inputs: action: reviewPR provider: github accessToken: $(GITHUB_PAT) repository: myorg/myrepo prNumber: $(System.PullRequest.PullRequestNumber) enableAiReview: true aiProvider: azure aiApiKey: $(AZURE_AI_API_KEY) aiBaseUrl: $(AZURE_AI_ENDPOINT) # https://<resource>.services.ai.azure.com/models aiModel: claude-sonnet-4-6 # your deployment name
steps: - task: AiPrReviewer@1 inputs: action: reviewPR provider: github accessToken: $(GITHUB_PAT) repository: myorg/myrepo prNumber: $(System.PullRequest.PullRequestNumber) enableAiReview: true aiProvider: bedrock awsRegion: us-east-1 awsAccessKeyId: $(AWS_ACCESS_KEY_ID) # omit to use IAM role awsSecretAccessKey: $(AWS_SECRET_ACCESS_KEY) # omit to use IAM role aiModel: anthropic.claude-3-5-sonnet-20241022-v2:0
variables: - group: ai-reviewer-secrets # GITHUB_PAT + AZURE_OPENAI_API_KEY + AZURE_OPENAI_ENDPOINT steps: - task: AiPrReviewer@1 inputs: action: reviewPR provider: github accessToken: $(GITHUB_PAT) repository: myorg/myrepo prNumber: $(System.PullRequest.PullRequestNumber) enableAiReview: true aiProvider: azure-openai aiApiKey: $(AZURE_OPENAI_API_KEY) aiBaseUrl: $(AZURE_OPENAI_ENDPOINT) # https://<resource>.openai.azure.com aiModel: gpt-4o # your deployment name
variables: - group: ai-reviewer-secrets # GITHUB_PAT + GOOGLE_AI_API_KEY steps: - task: AiPrReviewer@1 inputs: action: reviewPR provider: github accessToken: $(GITHUB_PAT) repository: myorg/myrepo prNumber: $(System.PullRequest.PullRequestNumber) enableAiReview: true aiProvider: googleai aiApiKey: $(GOOGLE_AI_API_KEY) # from aistudio.google.com aiModel: gemini-2.0-flash
variables: - group: ai-reviewer-secrets # GITHUB_PAT + GITHUB_MODELS_TOKEN steps: - task: AiPrReviewer@1 inputs: action: reviewPR provider: github accessToken: $(GITHUB_PAT) repository: myorg/myrepo prNumber: $(System.PullRequest.PullRequestNumber) enableAiReview: true aiProvider: githubmodels aiApiKey: $(GITHUB_MODELS_TOKEN) # GitHub PAT with models:read scope aiModel: gpt-4o
Gate deployments, trigger Slack alerts, or log verdicts — all from the same pipeline.
Full URL to the pull request
Numeric PR / MR identifier
lgtm · needs-work · critical
Number of issues Claude found
One-line summary from the review