Skip to main content
For an overview of how CodeRabbit integrates with Git platforms, see Add CodeRabbit to your repository.
Version RequirementsCodeRabbit supports GitLab 16.x and above. Version 15.x may experience unexpected issues such as review comments not being posted or the sign-up process not working at all. We recommend upgrading your GitLab instance to obtain the intended experience.

Getting Started

To integrate your self-managed GitLab with CodeRabbit, we require specific information for the initial setup within your domain. Once this setup is complete, you can log in directly using the OAuth2 flow.
1

Visit CodeRabbit login page

Navigate to the CodeRabbit login page and select Self-Hosted GitLab.CodeRabbit login
2

Enter your GitLab instance URL

Enter the URL of your self-managed GitLab instance and click Submit. We’ll check our database for an existing record of your organization and start the login process if found.Self-hosted Gitlab enterprise connection pageIf your self-managed GitLab instance is not found, we’ll initiate the onboarding process.
3

Choose onboarding method

You can choose between automated or manual onboarding based on your security preferences and administrative access.

Onboarding Options

Self-managed GitLab connection page
Why do we need the Admin Access Token?The admin access token is required to set up a new CodeRabbit bot user within your self-managed instance. The token is needed only once during the initial setup process. Once generated, you can set its minimum expiration period. This is the standard approach used by other products in this category.This admin-token step configures the self-managed GitLab instance but does not select which projects or groups CodeRabbit can access. After onboarding, use Repository installation to install CodeRabbit on individual projects or across a group.

Manual Onboarding

For the manual onboarding process, you need to create the CodeRabbit user and the OAuth2 GitLab application. Self-managed GitLab connection page

Creating CodeRabbit User

This feature will work with any user from your organization, but we strongly recommend creating a dedicated user called CodeRabbitAI. This ensures clarity about which user is used for our application and allows for better fine-grained access control.
To interact with CodeRabbit in merge request comments, use @coderabbitai β€” or the username of the user you create here, if it differs.
1

Create the user

Log in with an instance admin account and follow the steps provided in the GitLab documentation to create a new user.
2

Retrieve user information

After the user is created, retrieve the User ID from that user’s profile.
3

Generate access token

Generate an access token for this user. The access token is used to post reviews on merge requests.
Recommendations for the CodeRabbit user: - Use β€œCodeRabbitAI” as the username for easy identification - Use the CodeRabbit logo as the profile picture for easy recognition - Ensure the user has appropriate permissions for the repositories you want to integrate
If you prefer, you can create a Group Access Token which will create a dedicated user on your behalf. For more information, see Group Access Token.

Creating OAuth2 Application

For self-managed GitLab, we recommend creating an instance-wide application unless you want the reviews to be limited to a single group or user. Follow the steps outlined in the GitLab documentation for creating the application.
OAuth2 Application Requirements:
  • Scopes: api read_user email openid
  • Callback URL: https://app.coderabbit.ai/login

Generating Personal Access Token

GitLab offers an option to generate a personal access token for adding a new user and setting up the application in the self-managed instance.
1

Login to your instance

Login to your self-hosted instance. For automated onboarding, ensure you have admin rights.
2

Access user settings

On the left sidebar, select your avatar, then select Edit profile.
3

Navigate to Access Tokens

On the left sidebar, select Access Tokens.
4

Create new token

Select Add new token.
5

Configure token settings

  • Enter a name and expiry date for the token
  • We need this for the initial setup, so the minimum expiry time is sufficient
  • If you do not enter an expiry date, it defaults to 365 days from the current date
  • Select the required scopes: api, read_api, read_user
6

Generate and save token

Select Create personal access token and note down the token as it will only be displayed once.
GitLab personal access token configuration page

Paste the details and click submit

  • Submit the form.
  • We will handle the setup process for you.
  • On subsequent visits, your setup will be automatically detected, allowing for direct login. CodeRabbit authentication options page

Allow list CodeRabbit IP address

Use this CodeRabbit IP if your instance requires IP allow listing.

Manual webhook installation

Use this flow when you need to install the webhook manually or rotate the shared webhook secret. The Webhook Secret page is available in CodeRabbit for supported Git providers, including GitLab.com and self-managed GitLab.
1

Open Webhook Secret settings

In the CodeRabbit app, open Account and select Webhook Secret from the sidebar.
2

Copy the webhook URL

Use the Webhook URL field on that page to copy the exact endpoint that your GitLab instance should call.
3

Save or change the webhook secret

Enter the secret that GitLab should send with webhook deliveries and save it in CodeRabbit.
4

Configure the GitLab webhook

When creating or editing the webhook in GitLab, use the copied webhook URL and enable these settings:
  • Merge request events
  • Comments
  • Issues events
  • SSL verification enabled
If you change an existing webhook secret, CodeRabbit attempts to update existing CodeRabbit-managed GitLab project and group webhooks automatically. If a webhook was created manually, or if an automatic refresh fails, update the secret directly in GitLab.

Bulk webhook installation

For administrators managing many GitLab projects, you can use a script to bulk-install webhooks across all projects.
1

Login to CodeRabbit UI

Login to CodeRabbit UI through your GitLab self-managed instance.
2

Copy the webhook URL and secret

Follow the Manual webhook installation steps above to get your webhook URL and save a webhook secret in CodeRabbit.
3

Run script to install webhooks

Use a script to install webhooks across your GitLab projects or groups. Below is a sample script that requires:
  • Your GitLab host URL
  • The webhook URL you copied in the previous step
  • The webhook secret you saved in the previous step
  • A GitLab access token with API permissions

Example: Install webhook on a single project

Example: Install webhooks on all projects in a group (including subgroups)

Repository installation

After completing onboarding, install CodeRabbit on individual projects or across a GitLab group from the Repositories page in the CodeRabbit app. The permission model and steps are the same as for GitLab.com β€” see Repository installation for details. After a group installation, repositories later created in or added to that group and its subgroups are activated automatically when their first merge request or pull request is opened. See Automatic installation for new group repositories for the prerequisites and expected behavior. GitLab.com tier restrictions described there do not necessarily apply to self-managed GitLab; availability depends on your GitLab license and instance configuration.

SSH repository access

By default, CodeRabbit clones your GitLab projects over HTTPS. If HTTPS is not available or your organization prefers SSH for repository access, you can configure SSH clone credentials in the CodeRabbit web app.

Prerequisites

  • An SSH key pair generated without a passphrase. CodeRabbit cannot use passphrase-protected keys.
  • The public key must be registered on the GitLab account used by CodeRabbit under Edit profile β†’ SSH Keys. GitLab will deny SSH access if the public key is not registered! See the GitLab documentation on SSH keys.

Configure SSH clone credentials

1

Log in to CodeRabbit

Navigate to app.coderabbit.ai and log in with your self-managed GitLab account.
2

Open account settings

In the left navigation menu, click Account at the bottom.
3

Navigate to SSH Clone Credentials

In the left navigation of the Account page, under Developer settings, click SSH Clone Credentials.
4

Enter your SSH credentials

Fill in the fields as required for your setup:For most setups, providing the SSH Private Key and SSH Public Key is sufficient.
To avoid common copy-paste problems, use pbcopy (macOS) or xclip (Linux) to copy each key file to your clipboard, then paste directly into the corresponding field.
5

Save your credentials

Click Save to apply the SSH clone credentials. CodeRabbit will attempt SSH cloning using these credentials for your self-managed GitLab repositories. If SSH credentials cannot be decrypted or are invalid, cloning falls back to HTTPS.
After the initial setup, you can return to this page to update individual fields without re-entering all credentials.

What’s next

Platform overview

Overview of all Git platforms supported by CodeRabbit and how to get started.

Quickstart

Open your first merge request and see CodeRabbit post a review in minutes.