Files
mintlify[bot] 78d1b2a800 Update GitLab integration docs to mention Personal Access Tokens (#1121)
* Update settings/gitlab.mdx

* copy edit and add note on tokens

---------

Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
2025-09-12 09:56:33 -07:00

92 lines
3.4 KiB
Plaintext

---
title: "GitLab"
description: "Sync your docs with a GitLab repo"
icon: "gitlab"
---
We use access tokens and webhooks to authenticate and sync changes between GitLab and Mintlify.
- Mintlify uses access tokens to pull information from GitLab.
- GitLab uses webhooks to notify Mintlify when changes are made, enabling preview deployments for merge requests.
## Set up the connection
<Steps>
<Step title="Find your project ID">
In your GitLab project, navigate to **Settings** > **General** and locate your **Project ID**.
<Frame>
<img src="/images/gitlab/gitlab-project-id.png" alt="The General Settings page in the GitLab dashboard. The Project ID is highlighted." />
</Frame>
</Step>
<Step title="Generate an access token">
Navigate to **Settings** > **Access Tokens** and select **Add new token**.
Configure the token with these settings:
- **Name**: Mintlify
- **Role**: Maintainer (required for private repos)
- **Scopes**: `api` and `read_api`
Click **Create project access token** and copy the token.
<Note>
If Project Access Tokens are not available, you can use a Personal Access Token instead. Note that Personal Access Tokens expire and must be updated.
</Note>
<Frame>
<img src="/images/gitlab/gitlab-project-access-token.png" alt="The Access tokens page in the GitLab dashboard. The settings to configure for Mintlify are highlighted." />
</Frame>
</Step>
<Step title="Set up the connection">
In the [Mintlify dashboard](https://dashboard.mintlify.com/settings/deployment/git-settings):
1. Enter your project ID and access token.
2. Complete any other required configurations.
3. Click **Save Changes**.
<Frame>
<img src="/images/gitlab/gitlab-config.png" alt="The Git Settings page in the Mintlify dashboard. The GitLab configuration settings are highlighted." />
</Frame>
</Step>
</Steps>
## Create the webhook
Webhooks allow us to receive events when changes are made so that we can
automatically trigger deployments.
<Steps>
<Step title="Navigate to Settings > Webhooks and click 'Add new Webhook'">
<Frame>
<img src="/images/gitlab/gitlab-webhook.png" />
</Frame>
</Step>
<Step title="Set up URL and webhook">
In the "URL" field, enter the endpoint `https://leaves.mintlify.com/gitlab-webhook` and name the webhook "Mintlify".
</Step>
<Step title="Paste token">
Paste the Webhook token generated after setting up the connection.
<Frame>
<img src="/images/gitlab/gitlab-show-webtoken.png" />
</Frame>
</Step>
<Step title="Select events">
Select these events to trigger the webhook:
- **Push events** (All branches)
- **Merge requests events**
When you're done it should look like this:
<Frame>
<img src="/images/gitlab/gitlab-project-webtoken.png" alt="The Webhook page in the GitLab dashboard. The settings to configure for Mintlify are highlighted." />
</Frame>
</Step>
<Step title="Test the Webhook">
After creating the Webhook, click the "Test" dropdown and select "Push events" to send a sample payload to ensure it's configured correctly. It'll say "Hook executed successfully: HTTP 200" if configured correctly.
This will help you verify that everything is working correctly and that your documentation will sync properly with your GitLab repository.
<Frame>
<img src="/images/gitlab/gitlab-project-webtoken-test.png" />
</Frame>
</Step>
</Steps>