Provider support and merge enforcement
Publishing a result does not automatically block merging. Use the setup for your provider:
Self-managed Git providers must be connected to CodeRabbit Cloud. This guide does not describe support for self-hosted CodeRabbit deployments. Availability of the repository setting and PR Security review access are required for every provider.
Enable the check
You need Security write permission to change this setting. Your repository must have PR Security review access. On GitHub Enterprise Server, the CodeRabbit GitHub App installation also needs Checks: Read and write repository permission. If your App was configured with read-only Checks access, update the App and approve the updated installation permissions first. See GitHub Enterprise Server setup. For GitLab, complete the Cloud setup or Self-Managed setup. Ultimate external checks also need the project-specific setup described below. For Bitbucket Data Center, complete the provider setup, including the service account and webhook configuration. The service account needs repository write access to publish builds and resolve comments, and read access to the source repository for fork pull requests. For Bitbucket Cloud, the integration must be able to publish build statuses on the source commit, including for fork pull requests. For Azure DevOps Services or Server, give the CodeRabbit bot repository access and permission to contribute to pull requests. If you use a PAT, include Code (status) in addition to Code (Read & Write). Confirm thatcoderabbit/security appears on a test pull request before requiring it. See Azure DevOps setup.
1
Open repository Security settings
In the CodeRabbit app, open Security > Repositories, select your repository, and open Settings.
2
Enable publication
Under Pull request check, turn on Publish CodeRabbit Security check. The setting saves automatically.
3
Choose what blocks merging
Set Block on to the lowest severity you want to block. The default is Critical. This selection also saves automatically.
4
Run a review
The check starts with the next review. To evaluate an existing pull request now, comment
@coderabbitai full review on it. If your integration uses a configured CodeRabbit bot or service account, mention that account instead of @coderabbitai..coderabbit.yaml option for this check.
Severity thresholds
The threshold includes the selected severity and every higher severity.
Threshold changes apply to newly published comments. Raising the threshold does not clear existing blockers, and lowering it does not turn comments previously below the threshold into blockers. Existing comments retain the decision made when they were first evaluated.
Require the check in GitHub
Publishing the check does not change your repositoryâs merge rules. To block merging, a GitHub repository administrator must configure a ruleset for the protected branch, or a branch protection rule, that requires CodeRabbit Security.- Let CodeRabbit Security complete a review with Success or Neutral so GitHub can list it as an available required check.
- In your GitHub repository, open Settings > Rules > Rulesets. Create or edit a branch ruleset and select the branches you want to protect. If you use classic branch protection, edit the rule under Settings > Branches instead.
- Enable Require status checks to pass before merging and add CodeRabbit Security. Select the CodeRabbit App as the expected source.
- Save the rule. For a ruleset, set its enforcement status to Active.
Require the check in GitLab
On GitLab Cloud and Self-Managed, Ultimate supports requiring the named external check. After enabling publication:- In CodeRabbitâs repository Security settings, select Copy GitLab Ultimate setup. The copied values contain the check name, project-specific callback URL, and shared secret.
- In GitLab, open Settings > Merge requests > Status checks and add an external status check. Use the copied CodeRabbit Security name, URL, and HMAC shared secret exactly as supplied. Select the target branches to protect.
- Enable Status checks must succeed and save the project settings.
- Create a new merge request to validate the rule. GitLab applies newly registered checks to new merge requests, not retroactively to existing ones.
CodeRabbit Security / <project-id>!<merge-request-number>. Requiring successful pipelines can reject a failed pipeline, but does not require this particular Security status to exist. A passing ordinary CodeRabbit review or another pipeline does not establish that the Security check ran.
Configure merge checks in Bitbucket Cloud
CodeRabbit publishes a separate build status for the reviewed source commit. To enforce Bitbucketâs built-in build checks, a repository administrator must configure merge checks for the target branches and use Bitbucket Premium to prevent merges with unresolved checks. Use the successful-build requirement that also rejects failed or in-progress builds. Choose the required build count for your repositoryâs workflow. See Atlassianâs merge check setup.Require the build in Bitbucket Data Center
Publishing a build does not configure merge blocking. A repository administrator must add a Required builds rule on a licensed Bitbucket Data Center instance. A minimum successful-build count does not require CodeRabbit Security specifically.- Enable publication and let a review publish CodeRabbit Security so its build key is available.
- In the target repository, open Repository settings > Required builds and select Add required builds.
- Select the Security build with parent key
coderabbit-security. This is the shared required-build identifier, not the individualcoderabbit-security/...key for one pull request. - Choose the protected target branches. Leave exempt source branches at None unless you intend to allow a bypass, then save.
- Validate the rule on a disposable pull request in your instance: confirm a failed or unfinished Security build prevents merging, then fix the blocker and confirm a successful build satisfies this requirement. Other merge requirements still apply.
buildParentKeys.
Require the status in Azure DevOps
Use the same setup for Azure DevOps Services and registered Azure DevOps Server instances connected to CodeRabbit Cloud. You need permission to edit branch policies.- Enable publication and confirm that a review posts
coderabbit/securityon a test pull request. - Open the target branchâs Branch policies, find Status checks, and add
coderabbit/security. - Set the policy to Required and select the CodeRabbit bot as the Authorized identity.
- Apply the policy by default when a pull request is created, and enable Reset status whenever there are new changes. Applying it only after the first status is posted can leave pull requests without a Security result outside the requirement.
- Save and validate a new pull request: missing, pending, and failed results should prevent completion; a successful result satisfies this policy. Other policies and configured bypass permissions still apply.
Understand the result
Each provider shows the outcome in its own state:
Known blockers continue to fail the check even when other review evidence is unavailable. Incomplete analysis alone does not cause failure. A successful or neutral result does not guarantee that the code has no security issues.
Outside GitHub, a neutral outcome uses the providerâs passing state. Read the result description to distinguish a verified result from a result with unavailable evidence. If CodeRabbit cannot read the source or confirm publication, the latest commit can have no Security result or an unfinished result; a missing result is not a successful evaluation.
What counts as a Security comment?
The check tracks visible inline comments published by CodeRabbit under Security & Privacy. Each comment counts once. When one comment contains multiple Security issues, its highest displayed Security severity applies. Replies, summary-only items, comments in other categories, and unpublished analysis do not count.Read the report
On GitHub, open CodeRabbit Security in the pull requestâs Checks tab to see:- The commit that was evaluated.
- Comment counts by severity: Found, Verified fixed, Remaining, and Blocking.
- Blocking comments with their file locations and direct links.
- The Block on threshold used for that review and a link to repository settings.
â) means the history needed for that count is unavailable; it does not mean zero. The report can list blockers admitted under an earlier threshold even after you change the setting.
On Bitbucket Data Center, open the pull requestâs builds and find CodeRabbit Security for the reviewed source commit. The build contains a short verdict and a link to the pull request; it does not contain GitHubâs detailed report table. Read the Security comments on the pull request for the findings and their locations. Each pull request has a separate build key, while all Security builds share the required-build parent key coderabbit-security.
Inspect CodeRabbit Security in GitLabâs merge request external checks or pipeline statuses, the Security build status for the source commit in Bitbucket Cloud, or coderabbit/security in Azure DevOpsâ pull request status or policy results. Use the result description and Security comments to understand the blockers; these provider statuses do not expose GitHubâs detailed Checks report.
Clear a blocking comment
Fix the issue, push a new commit, and let CodeRabbit review it. CodeRabbit uses its code-based comment resolution results to verify that the current code addresses the issue. Unrelated pushes do not clear blockers.Manually resolving a conversation or thread, marking it outdated, or replying that an issue is fixed does not establish a verified fix and does not clear a Security blocker. This applies across providers.
Disable or troubleshoot the check
Before turning off Publish CodeRabbit Security check, remove its specific requirement from GitHubâs merge rules, GitLab Ultimateâs external status checks, Bitbucket Data Centerâs Required builds, or Azure DevOpsâ branch status policies. Preserve unrelated requirements. Otherwise, your provider can block merging while waiting for a check that will no longer be published. On GitLab Free and Premium, Pipelines must succeed can block merging when no qualifying pipeline runs. If Security is the only qualifying pipeline, configure another pipeline to validate merge requests before disabling Security publication. If your project will no longer use pipelines, an administrator can turn off Pipelines must succeed under Settings > Merge requests > Merge checks. Turning off this setting removes the successful-pipeline requirement for the project, including unrelated pipelines; keep it enabled when other pipelines must still pass. See GitLabâs pipeline merge check guidance. Bitbucket Cloud build-count rules cannot target Security by name. If the remaining successful builds cannot meet the configured count after Security stops publishing, administrators must adjust the required count or replace the missing Security build with another build that validates the commit. Lowering the count can weaken enforcement of unrelated builds, so confirm that the resulting policy still meets your teamâs merge requirements. Disabling applies to subsequent reviews. A check already in progress finishes normally, and previously published checks remain visible. Disabling and re-enabling does not erase tracked blockers or history. If the check does not appear, confirm that publication is enabled for the correct repository, PR Security reviews are available, and a review has run since you enabled it. When your plan no longer provides PR Security reviews, new checks stop publishing even if the saved preference remains enabled. Unless you restore that access, follow the provider-specific guidance above: remove the named Security requirement, replace or remove GitLab Free/Premiumâs pipeline requirement, or adjust Bitbucket Cloudâs build-count requirement. Otherwise, pull requests can remain blocked waiting for a result that will not be published. For rejected publication, check the integrationâs credentials and repository permissions, then request a new review. For forks, check source repository access as well as target repository access. For GitLab Ultimate, also confirm that the external check uses the setup copied for this project and that you are testing a new merge request. A GitLab status-check retry refreshes saved results; request a CodeRabbit review to evaluate code changes.Whatâs next
CodeRabbit Security
Explore PR Security reviews and repository-wide Deep Scans.
Review commands
Request a full review or check your review status.
Automatic Approvals
Configure review approvals across all actionable review feedback.