Skip to main content

Connect to GitLab

Connecting your GitLab account to dbt Cloud provides convenience and another layer of security to dbt Cloud:

  • Import new GitLab repos with a couple clicks during dbt Cloud project setup.
  • Clone repos using HTTPS rather than SSH.
  • Carry GitLab user permissions through to dbt Cloud or dbt Cloud CLI's git actions.
  • Trigger Continuous integration builds when merge requests are opened in GitLab.
    • GitLab automatically registers a webhook in your GitLab repository to enable seamless integration with dbt Cloud.

The steps to integrate GitLab in dbt Cloud depend on your plan. If you are on:

For dbt Cloud Developer and Team tiers

To connect your GitLab account:

  1. From dbt Cloud, click on your account name in the left side menu and select Account settings.
  2. Select Personal profile under the Your profile section.
  3. Scroll down to Linked accounts.
  4. Click Link to the right of your GitLab account.
The Personal profile settings with the Linked Accounts section of the user profileThe Personal profile settings with the Linked Accounts section of the user profile

When you click Link, you will be redirected to GitLab and prompted to sign into your account. GitLab will then ask for your explicit authorization:

GitLab Authorization ScreenGitLab Authorization Screen

Once you've accepted, you should be redirected back to dbt Cloud, and you'll see that your account has been linked to your profile.

For the dbt Cloud Enterprise tier

dbt Cloud enterprise customers have the added benefit of bringing their own GitLab OAuth application to dbt Cloud. This tier benefits from extra security, as dbt Cloud will:

  • Enforce user authorization with OAuth.
  • Carry GitLab's user repository permissions (read / write access) through to dbt Cloud or dbt Cloud CLI's git actions.

In order to connect GitLab in dbt Cloud, a GitLab account admin must:

  1. Set up a GitLab OAuth application.
  2. Add the GitLab app to dbt Cloud.

Once the admin completes those steps, dbt Cloud developers need to:

  1. Personally authenticate with GitLab from dbt Cloud.

Setting up a GitLab OAuth application

We recommend that before you set up a project in dbt Cloud, a GitLab account admin set up an OAuth application in GitLab for use in dbt Cloud.

For more detail, GitLab has a guide for creating a Group Application.

In GitLab, navigate to your group settings and select Applications. Here you'll see a form to create a new application.

GitLab application navigationGitLab application navigation

In GitLab, when creating your Group Application, input the following:

FieldValue
Namedbt Cloud
Redirect URIhttps://YOUR_ACCESS_URL/complete/gitlab
Confidential
Scopes✅ api

Replace YOUR_ACCESS_URL with the appropriate Access URL for your region and plan.

The application form in GitLab should look as follows when completed:

GitLab group owned application formGitLab group owned application form

Click Save application in GitLab, and GitLab will then generate an Application ID and Secret. These values will be available even if you close the app screen, so this is not the only chance you have to save them.

If you're a Business Critical customer using IP restrictions, ensure you've added the appropriate Gitlab CIDRs to your IP restriction rules, or else the Gitlab connection will fail.

Adding the GitLab OAuth application to dbt Cloud

After you've created your GitLab application, you need to provide dbt Cloud information about the app. In dbt Cloud, account admins should navigate to Account Settings, click on the Integrations tab, and expand the GitLab section.

Navigating to the GitLab Integration in dbt CloudNavigating to the GitLab Integration in dbt Cloud

In dbt Cloud, input the following values:

FieldValue
GitLab Instancehttps://gitlab.com
Application IDcopy value from GitLab app
Secretcopy value from GitLab app

Note, if you have a special hosted version of GitLab, modify the GitLab Instance to use the hostname provided for your organization instead - for example https://gitlab.yourgreatcompany.com/.

Once the form is complete in dbt Cloud, click Save.

You will then be redirected to GitLab and prompted to sign into your account. GitLab will ask for your explicit authorization:

GitLab Authorization ScreenGitLab Authorization Screen

Once you've accepted, you should be redirected back to dbt Cloud, and your integration is ready for developers on your team to personally authenticate with.

Personally authenticating with GitLab

dbt Cloud developers on the Enterprise plan must each connect their GitLab profiles to dbt Cloud, as every developer's read / write access for the dbt repo is checked in the dbt Cloud IDE or dbt Cloud CLI.

To connect a personal GitLab account:

  1. From dbt Cloud, click on your account name in the left side menu and select Account settings.

  2. Select Personal profile under the Your profile section.

  3. Scroll down to Linked accounts.

If your GitLab account is not connected, you’ll see "No connected account". Select Link to begin the setup process. You’ll be redirected to GitLab, and asked to authorize dbt Cloud in a grant screen.

Authorizing the dbt Cloud app for developersAuthorizing the dbt Cloud app for developers

Once you approve authorization, you will be redirected to dbt Cloud, and you should see your connected account. You're now ready to start developing in the dbt Cloud IDE or dbt Cloud CLI.

Troubleshooting

Unable to trigger a CI job with GitLab
Errors importing a repository on dbt Cloud project set up
How can I fix my .gitignore file?
I'm seeing a Gitlab authentication out of date error loop
Can self-hosted GitLab instances only be connected via dbt Cloud Enterprise plans?
How to migrate git providers
0