# GitLab

> Connect GitLab to Tidal Control with an access token, so compliance tests read your GitLab environment. Read-only, and no configuration is ever changed for you.

Source: https://tidalcontrol.com/docs/integrations/gitlab

The GitLab integration enables Tidal Control to automatically execute compliance tests on your GitLab environment via an access token configuration.

## Requirements

- Super User role in Tidal Control
- GitLab account with token creation rights
- Access to GitLab environment (gitlab.com or self-hosted)

## Configuration step-by-step plan

We'll create a **GitLab access token** in your GitLab account that allows Tidal to retrieve compliance data. An access token is a GitLab mechanism that enables external applications (Tidal) to securely access specific GitLab resources without sharing your password.

**GitLab host configuration:**
- **Default:** `https://gitlab.com` (GitLab.com SaaS)
- **Self-hosted:** Use your own GitLab server URL (e.g. `https://gitlab.company.com`)
- **GitLab Enterprise:** Custom enterprise instance URL

**Configuration steps:**
1. **Create GitLab access token**
2. **Configure token**
3. **Complete integration**

## Step 1: Create GitLab access token

- Go to your **GitLab environment** and log in
- Click your **profile icon** in the top right
- Select **"Edit profile"**
- Click **"Access Tokens"** in left sidebar
- Click **"Add new token"** under Personal Access Tokens

## Step 2: Configure token

- **Token name:** `Tidal Control`
- **Description:** `Read-only token for Tidal Control compliance monitoring`
- **Expiration date:** Leave blank for maximum validity (or set according to organisation policy)
- **Scopes:** Select **"read_api"** for read-only access
- Click **"Create personal access token"**

## Step 3: Complete integration

- **Copy token value** immediately (no longer visible after leaving page)
- Go to **Settings → Integrations** in Tidal Control
- Click the **plus icon** next to GitLab
- Fill in configuration:
  - **Name:** `GitLab Production`
  - **Host:** `https://gitlab.com` (or your self-hosted URL)
  - **Access Token:** Copied token value
- Click **"Create"** to save integration

> **tip:**

**Token validity:** Leave expiration date blank for longest validity, unless organisation policy requires otherwise

## Verification

After successful configuration, Settings → Integrations shows GitLab under **Configured Integrations**, GitLab-specific tests are available in the Tests section, and test refreshes deliver results without authentication errors.

> **warning:**

**Save token:** Note the access token securely - it's no longer visible after creation and uniquely needed for troubleshooting

## Troubleshooting

If the integration does not connect, check the following:

- Verify access token correctly copied (no extra spaces)
- Check token expiration date not yet reached
- Confirm "read_api" scope selected during token creation
- Verify GitLab host URL correctly entered

### Still can't figure it out?

Send an email to support@tidalcontrol.com, and we'll get back to you as soon as possible.

> **info:**

**Gathering support info:** Note which browser you're using, exact error messages, which steps you've already tried, and screenshots of the problem. This significantly speeds up the solution.
