Skip to main content

CodeRabbit for Self-Managed GitLab

This page guides you through the process of integrating your Self-Managed GitLab with CodeRabbit.

To initiate the integration, we require specific information. This is essential for the initial setup of CodeRabbit within your domain. Once this setup is complete, you can log in directly using the OAuth2 flow.

CodeRabbit 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. While we won't block the integration, we recommend upgrading your GitLab instance to obtain the intended experience.

Step 1: Getting Started

Visit CodeRabbit: Visit our Login page and select Self-Hosted GitLab

login-page

Step 2: Enter your Self-Managed GitLab URL

On this page, enter the URL of your self-managed GitLab instance and click submit. Once, you submit, we check our database for a record of your organization and if we find an existing one, we are starting the login process.

Untitled

If the self-managed GitLab instance is not found, we initiate the onboarding process, which can be either manual or automated.

Step 3: Onboarding Manual or Automated

1. Automated onboarding

Untitled

Why do we need the Admin Access Token?

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 the token is generated, you can set its minimum expiration period. This is the standard approach used by other products in this category. This is not automatically installing the CodeRabbit app across all projects. You will add CodeRabbit manually on the projects you wish, as the next step.

2. Manual onboarding

For the manual onboarding process we need to create the CodeRabbit user and the OAuth2 GitLab application. Untitled

Creating CodeRabbit user

This feature will work with any user from your organization, but we strongly suggest creating a dedicated user called CodeRabbitAI. This ensures clarify about which user is used for our application and allows for better fine-grained access control.

To create users in GitLab, log in with an instance admin account and follow the steps provided in the GitLab documentation. After the user is created, you can retrieve the User ID from that user's profile and generate an access token. The access token is used to post reviews on merge requests.

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.

Please follow the steps outlined in the GitLab documentation for creating the application.

Requirements:

  1. Scopes: api read_user email
  2. 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. To generate the token, please follow the process outlined below:

  1. Login to your self-hosted instance. For automated onboarding ensure you have admin rights.
  2. On the left sidebar, select your avatar.
  3. Select Edit profile.
  4. On the left sidebar, select Access Tokens.
  5. Select Add new token.
  6. Enter a name and expiry date for the token. We need this for the initial setup, so the minimum expiry time is sufficient.
  7. If you do not enter an expiry date, the expiry date is automatically set to 365 days later than the current date.
  8. Make sure, you select the scopes: api read_api read_user
  9. Select Create personal access token.
  10. Please note down this token as this will be visible one time only

Untitled

Step 4: 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. Untitled

Step 5: Whitelist CodeRabbit IP address

Use this CodeRabbit IP if your instance requires IP whitelisting 35.222.179.152/32

VPN tunneling is available as an add-on package. Please reach out to us at [email protected] if you are interested.