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. When integrating with Flow, the service account must be a maintainer or owner at both the project and repository levels to utilize all services and webhooks. If you don't want to enable webhooks, then the minimum permission required in GitLab is reporter at both the project and repo levels.

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

Flow doesn't ingest data from SHA256 repos at this time. If you have any SHA256 repos, they will appear on the Repos page, but Flow won't ingest data from them.

Create 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.

  5. Optional: If you see the Direct Connection or Hybrid Connection, select one.

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

OAuth

Before continuing in Flow, create a new OAuth application in GitLab. Use the following information when configuring the app:

  • Name: Flow

  • Redirect URI: https://<workspace>.appfireflow.com/accounts/complete/gitlab-enterprise

  • Scopes:

    • api

    • read_user

    • read_repository

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

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

Connect with OAuth tab.
  1. Click Connect with OAuth.

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

  3. 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: Note 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.

Add Credentials tab for personal access token.
  1. 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.

Finish your integration setup

Once you've authenticated successfully:

  1. Toggle the Repos, Tickets, and Pull requests services on or off to determine which data types Flow will ingest for this integration. After you've made your selections, click Next.

  1. 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.

  2. 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.

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

To learn more about managing your new integration settings, see Managing integrations.

Need support? Create a request with our support team.

Copyright © 2005 - 2025 Appfire | All rights reserved.