## Documentation Index

Fetch the complete documentation index at: [/docs/llms.txt](/content/docs/llms.txt)

Use this file to discover all available pages before exploring further.

The GitLab connection is token-based and **read-only**: you give Momentic an access token, and it reads project, branch, commit, and merge-request metadata through the GitLab API. Momentic does not write to GitLab: no comments, no merge requests, no pushes.

## What the connection reads

| Read                              | What Momentic does with it                                                |
|-----------------------------------|------------------------------------------------------------------------|
| **Accessible projects**           | Lists the projects the token can see                                   |
| **Open merge requests for a branch** | Associates a run’s branch with its MR so the dashboard can link them |
| **Merge-base and commit metadata** | Resolves which commits a run or diff covers                           |
| **Branch metadata**               | Verifies branches exist when runs reference them                        |

## Install

1. Open [Settings > Integrations](https://app.momentic.ai/settings/integrations) in the dashboard.
2. Click **Connect** on the GitLab card.
3. Paste an access token and your GitLab instance URL (for example `https://gitlab.com` or your self-managed base URL).

The token’s own scope decides which projects Momentic can see; there is no project picker. A token that reaches three projects connects all three.

## Which token to use

Required scope: **`read_api`** (the broader `api` scope also works).

| Token type                     | Use when                                                 | Caveat                                                               |
|--------------------------------|---------------------------------------------------------|----------------------------------------------------------------------|
| **Project access token**       | The integration is scoped to one project (typical CI setup) | The connection sees exactly that project                             |
| **Personal access token**      | The integration must reach several projects under one identity | Momentic sees every project the PAT owner can reach                 |

## Gotchas

- **Token expiry.** Project and personal tokens carry a GitLab expiry date. When the token lapses, Momentic can no longer resolve branches or MRs; rotate the token in GitLab and paste the new one into the integration card.
- **PAT visibility.** A personal token exposes every project its owner can read. Prefer a project access token when one project is enough.
- **Self-managed instances.** The instance URL must be reachable from Momentic’s services; a cloud connection cannot reach a VPN-only GitLab.
- **Runs still start in CI.** GitLab does not trigger Momentic runs. Run the CLI from your pipeline: see [GitLab CI/CD](/content/docs/running-tests/ci/gitlab-ci/index.html) for the ready-to-paste job.

## Disconnect or revoke

- Disconnect on the GitLab card in [Settings > Integrations](https://app.momentic.ai/settings/integrations).
- Revoke the token under the user’s or project’s **Settings > Access tokens** in GitLab. Revoking takes effect immediately; the Momentic side shows the connection as broken until you replace it.
