GitLab self-hosted setup

GitLab self-hosted setup

Create a GitLab self-hosted integration with Flow using OAuth or an access token.

Use a service account to create this integration. Learn more about creating service accounts.

Permissions

Flow only requires read access to your repositories. This permission is needed to process the metadata used to generate our reports. In order to use all services and webhooks when integrating with Flow, the service account must be a maintainer or owner at the project and repository level. If you don't want to enable webhooks, then the minimum permission needed in GitLab is reporter at the project and repository level.

You must have GitLab self-managed version 9.0 or newer to integrate successfully with Flow.

Flow doesn't ingest data from SHA256 repos (external site, opens in new tab) at this time. If you have any SHA256 repos, they will appear on the Repos page, but Flow won't ingest data from them.

Creating your integration

To create your GitLab self-hosted integration:

  1. Click Settings in the top navigation.

  2. in the left navigation under Integrations, click Integrations.

  3. Click Add integration.

  4. Click GitLab Self-Hosted in the Integration Provider list.

Next, select your integration method and authenticate with GitLab. In most situations, we recommend OAuth-based integrations.

OAuth

Before continuing in Flow, create a new OAuth application in GitLab (external site, opens in new tab). Use the following information when configuring the application:

  • Name: Flow

  • Redirect URI: https://flow.pluralsight.com/accounts/complete/gitlab-enterprise

  • Scopes:

    • api

    • read_user

    • read_repository

Once you've created your application, copy the Client ID and Client Secret, then return to Flow.

  1. In the OAuth tab, enter your Client ID, Client Secret, and Base URL.

  2. Click Connect to GitLab Self-Hosted.

  3. If you're already logged in to your GitLab account, a popup will prompt you to confirm access. If you're not already logged in, you'll be prompted to log in before authorizing the connection.

  4. If your connection was successful, you'll see a success message. If your connection isn't successful, verify your Client ID and Secret, Base URL, and the Redirect URI you provided when creating the OAuth application in GitLab.

Ensure popups are allowed in your browser before attempting to connect via OAuth.

Access token

  1. In GitLab, create a new Personal access token (external site, opens in new tab). Use the following information:

    • Name: Give the access token an identifiable name so you know it's used for Flow.

    • Expiry date: Take note of this date so you can update the token again before it expires. If your access token expires before you update it in Flow, Flow can't continue to ingest and process your data. Alternatively, create a service account access token without an expiry date (external site, opens in new tab).

    • Scopes: The minimum required scopes for Flow to ingest data are:

      • api

      • read_user

      • read_repository

  2. Copy your access token into the Personal Access Token field in Flow.

  3. Input your Base URL.

  4. Click Test connection. Once your connection is successfully verified, you'll receive a success message. If you receive an error, verify your access token and base URL, then try again.

Once your authentication is successful, click Next to finish setting up your integration.

Finishing your integration setup

Once you've authenticated successfully:

  1. Select the services you want enabled for this integration to determine which data types Flow will ingest. Choose to enable or disable repo, PR, and ticket services. After you've made your selections, click Next.

  2. Name your integration. This is the name Flow will display for the integration. Choose a name that will help you identify the integration in the future.

  3. Once you've completed all sections, click Create.

You've successfully created a GitLab self-hosted integration. Next, Flow directs you to the details page for this integration to complete additional setup steps. At this point, choose whether to enable auto-import for your repos and set up repo exclusions.

Make sure the list of groups matches what you expect. If any seem to be missing, double-check the permissions and scopes you used during authentication.

Learn more about managing integrations.

Need support? Create a request with our support team.

Copyright © 2005 - 2025 Appfire | All rights reserved.