GitLab self hosted setup

Tags: Flow

Below is a step-by-step guide on how to connect your self hosted GitLab account to Flow. If your repositories are behind a firewall, please whitelist our IPs on port 443 over HTTPS.  You also need a public DNS record pointing to the IP address that is being exposed for Flow analysis.  This DNS entry should match the TLS/SSL certificate that the server is utilizing.

Important: We strongly recommend you use a service account to create this Integration. Please see How to create a service account for instructions and information about why service accounts are important. The service account will need to be added to the GitLab groups with at least a "reporter" permission in order to import repos into Flow.

Permissions Requirements

To use all services (repos, PRs, tickets and Webhooks) when integrating with Flow, the service account will need to be a maintainer or owner at the project/repository level. If you prefer not to enable Webhooks, the minimum permission needed in GitLab is reporter at the project/repository level.

Version Requirement

GitLab 9.0 or higher

GitLab Enterprise configuration 

In order to connect your GitLab Enterprise, you will need to first create a new integration. On your Flow home page, go to the top navigation bar and click Settings. Using the left navigation under Integrations, click Integrations.  Click Add Integration in the top right hand corner of you integrations screen. On the following page select GitLab Self-Hosted from the Integration Provider list and click Next.

In this next step you can choose to connect via an OAuth application or access token. Choose the connection that works best for you. 


On any page of your GitLab instance, click your user icon and then navigate to Settings and Applications. Fill in the following information under Add new application:

Then fill in your Application ID, Client Secret and Base URL from GitLab into the Flow integration screen. 

Tip: Before proceeding to the next step, make sure you have pop-up blockers disabled on your browser. The following steps will include a pop-up that will finalize your connection to your GitLab account. If you have pop-ups blocked, you will have to start all over.

Click Connect to GitLab Self-Hosted. If Flow is able to successfully access your instance you will see a success message.

If your connection is not successful, please double check your Client ID and Secret, Base URL and the callback URL you provided when creating the OAuth application in GitLab.

Access Token

You can connect via an access token. On the tab input your access token and click Test connection. For more information on where to create an access token in GitLab see GitLab’s support document Personal access tokens. Once you've inputted your information, click Test connection.

If the connection was successful you will see a success message. 

If you receive an error when trying to connect your GitLab account using an access token verify the access token and base URL and try again. 

Once you have successfully connected to your GitLab account, click Next.

Then you will select the services you want turned on for this Integration. If you would like to import ticket and pull request data in addition to repo data, leave all services on. You can turn services on and off at any time. Click Next.

Name your integration so you can identify the account you connected with. Click Create.

You can begin to import your repos by going to your repo import page. Click the repo import page link. To learn more about managing your new integration settings, see Manage integrations.

back to top

If you need help, please email for 24/7 assistance.