Skip to main content

Why integrate Devin with GitLab?

Integrating Devin with your GitLab repositories allows Devin to create merge requests, read and respond to your MR comments, and collaborate effectively with your team. This lets Devin be a true collaborator on your engineering team.
Using a self-hosted GitLab instance? We support GitLab Self-Managed for users on our Enterprise plan. Simply click the dropdown on the “Connect” button and select “Self-Hosted”. See the GitLab Self-Managed Integration guide for full setup instructions.

Setting up the Integration

The setup is easy! Here’s how to get started:
  1. Create a new GitLab account specifically for Devin (just like you’d create a personal account). You’ll use this account, not your personal one, during the integration process.
  2. In your Devin account, go to Settings > Connections > Gitlab and click “Connect”.
  3. You’ll be redirected to GitLab where you should:
    • Log in with the GitLab account you created for Devin (not your personal account)
    • Grant the necessary permissions for Devin to work with your repositories
  4. Once completed, you’ll return to the Devin settings page where you can confirm the integration is active.
For GitLab on-premise (self-hosted) installations, the sync of MR status (open, merged, closed) to Devin sessions only happens once a day. This can lead to a temporarily misrepresented MR status in your session or session list until the next sync occurs.

Webhook Configuration

Configuring a webhook allows Devin to automatically receive real-time notifications when specific events occur in GitLab (such as opening or updating merge requests and commenting on merge requests). To configure the webhook:
  1. In your Devin account, go to Settings > Connections
  2. Locate the GitLab instance you want to configure
  3. Click the Manage dropdown
  4. Select Configure Webhook
  5. Follow the provided commands to complete the setup
Configure Webhook
Once configured, Devin will be able to respond to GitLab events in real time rather than relying on periodic polling.

Repository Permissions

For Core and Teams users

Once the integration is configured, you can @mention repositories directly in your prompts within the Devin web application.

For Enterprise users

Once the integration is configured, you can delegate repositories to specific organizations from Enterprise Settings > Repository Permissions.
  1. Go to Enterprise Repositories
  2. Select the correct organization
  3. Open Manage Permissions
  4. Add the relevant repositories with the appropriate read/write permissions
If repositories do not appear immediately after connecting, Devin refreshes the repository list periodically. You can manually refresh the repository list in Devin.

User Linking

For Enterprise users with a self-hosted GitLab instance, individual users can link their personal GitLab accounts to Devin. This allows Devin to act on behalf of individual users for GitLab operations. To link a personal GitLab account:
  1. Ensure you are a member of a Devin organization with GitLab repository permissions
  2. Go to Personal Connections in your Devin settings
  3. Look for the GitLab integration
  4. Select the GitLab connection and complete the linking flow
Personal Connections only shows integrations for organizations the user belongs to. If the GitLab integration does not appear, confirm that you are a member of a Devin organization with GitLab repository permissions.

Using Devin with the GitLab Integration

After connecting GitLab, set up your repositories on Devin’s Machine.
While Devin can see and address comments you leave on its merge and pull requests if you ask directly, Devin will not wake up automatically to respond to these comments.

Best Practices

  • Create a dedicated GitLab account for Devin
  • Enable branch protections on main/master branches
  • Configure the webhook for real-time event notifications

Support

  1. Create a Slack connect channel with our team at app.devin.ai/settings/support
  2. Share session links when reporting issues and provide screenshots