Skip to content

Feature parity across code hosts ​

Status: 2026-10-13. GitHub connects through GitHub Apps; GitLab, Azure DevOps Repos, Bitbucket Cloud, Bitbucket Data Center, Gitea and Forgejo connect through token connections (setup). The publisher reads each provider's capabilities (ProviderCapabilities in packages/shared-types/src/git-provider.ts) and degrades instead of dropping output: a finding that cannot be shown one way is shown another way, never silently lost.

Legend: ✅ supported · ◐ supported with a difference (see note) · — not available. Columns: GH GitHub · GL GitLab · AZ Azure DevOps · BBC Bitbucket Cloud · BBDC Bitbucket Data Center (9.4+) · GT Gitea (1.26+) · FJ Forgejo (15+).

Review ​

CapabilityGHGLAZBBCBBDCGTFJ
Inline comments on added and context lines✅✅ draft notes with position✅ threadContext✅ inline.to✅ anchor (lineType, fileType TO)✅ new_position✅ new_position
Comments on removed lines (left side)✅✅ old_line✅✅ inline.from✅ fileType FROM✅ old_position✅ old_position
Multi-line comments✅✅ line_range✅✅ start_to/start_from✅ multilineMarker◐ single line (the last line of the range)◐ single line
Atomic posting (all comments or none)✅ review✅ bulk publish◐ one thread at a time◐ one comment at a time, summary last◐ one comment at a time, summary last✅ review✅ review
One-click suggestions✅✅ suggestion:-N+0◐ code block◐ code block✅ ```suggestion◐ code block◐ code block
Summary with severity table✅ check run◐ summary note◐ summary thread✅ Code Insights report✅ Code Insights report◐ review body◐ review body
Status on the head commit✅ check run◐ commit status◐ commit status✅ Code Insights report with annotations✅ Code Insights report with annotations◐ commit status◐ commit status
Block merge on critical findings✅◐ failed status, if required◐ status branch policy◐ failed report, Code Insights merge check (plan dependent)◐ failed report, Code Insights merge check◐ failed status, if required◐ failed status, if required
Resolve threads of fixed findings✅✅✅ status Fixed✅✅ threadResolved✅— no API
Incremental review of new commits✅✅ compare API✅✅ diff between two commits✅ compare diff◐ full pull request diff◐ full pull request diff
Acceptance-criteria check✅✅—— via Jira links— via Jira links——
SARIF upload / code scanning✅— skipped, audited— skipped, audited— skipped, audited— skipped, audited— skipped, audited— skipped, audited
CI failure analysis✅ GitHub Actions logs; other check apps from summary and annotations——————
Draft pull requests✅✅✅✅✅✅ WIP: prefix✅ WIP: prefix
Large diffs✅✅◐ computed (≤ 300 files, ≤ 1 MB)✅ git diff◐ server line cap (truncated)✅ git diff✅ git diff

Triage, replies and chat ​

CapabilityGHGLAZBBCBBDCGTFJ
Issue triage (labels, duplicates, needs-info)✅✅—— use Jira— use Jira✅ labels by name✅ labels by name
Grounded replies on issues✅✅———✅✅
Replies and chat on pull requests✅✅✅✅ threaded✅ threaded◐ pull request comments (no API to reply in a review conversation)◐ pull request comments
Issue sync on connect✅✅———✅✅
Pull request labels✅✅✅ tags——✅✅

Assignment ​

CapabilityGHGLAZBBCBBDCGTFJ
Request reviewers✅ users and teams◐ users◐ optional reviewers◐ workspace members✅ users◐ users◐ users
Assign issues✅✅———✅✅
Code owners✅✅ sections—— Bitbucket adds them itself— Bitbucket adds them itself— regex CODEOWNERS, requested by Gitea— requested by Forgejo
Required reviewers / approval rules✅✅✅✅ merge checks✅ merge checks✅ branch protection✅ branch protection
Expertise from history✅◐◐◐ commits only◐ commits by email◐ commits only◐ commits only
Availability status and open load✅◐ busy status—————
Team members✅✅✅——✅ organisation teams✅ organisation teams

Issue → PR ​

CapabilityGHGLAZBBCBBDCGTFJ
Draft PR from an issue✅ fixer app——————

Platform ​

CapabilityGHGLAZBBCBBDCGTFJ
Self-managed / server✅ GHES✅✅ Servern/a✅ 9.4 LTS+✅ 1.26+✅ 15 LTS+
AuthenticationGitHub Appaccess tokensPAT, Entra apprepository, project or workspace access tokenHTTP access tokenaccess tokenaccess token
Webhook verificationHMAC SHA-256X-Gitlab-Tokenbasic authX-Hub-Signature HMAC SHA-256X-Hub-Signature HMAC SHA-256X-Gitea-Signature HMAC SHA-256X-Forgejo-Signature HMAC SHA-256
Idempotency keyX-GitHub-DeliveryX-Gitlab-Event-UUIDnotification idX-Request-UUIDX-Request-IdX-Gitea-DeliveryX-Forgejo-Delivery
Rate limits honoured✅RateLimit-*X-RateLimit-*Retry-After, backoff on 429Retry-After, backoff on 429none sent by defaultnone sent by default
Bot identityapp slugtoken usertoken identity◐ unknown (app user, [bot])token user (X-AUSERNAME)token usertoken user
Verified withlive app, fixturesfixtures, GitLab CE containerfixturesfixturesfixturesfixtures, Gitea 28 containerfixtures, Forgejo 15 container

The open core is released under the Apache License 2.0.