> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify-mintlify-add-i-to-quickstart-8818.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# GitLab

> 将文档与 GitLab 仓库同步

我们使用访问令牌和 webhook 在 GitLab 与 Mintlify 之间进行身份验证并同步更改。

* Mintlify 使用访问令牌从 GitLab 拉取信息。
* GitLab 使用 webhook 在发生更改时通知 Mintlify，从而为合并请求启用预览部署。

<div id="set-up-the-connection">
  ## 设置连接
</div>

<Steps>
  <Step title="查找项目 ID">
    在你的 GitLab 项目中，前往 **Settings** > **General**，找到 **Project ID**。

    <Frame>
      <img src="https://mintcdn.com/mintlify-mintlify-add-i-to-quickstart-8818/POxrbHB6_BZDU4E9/images/gitlab/gitlab-project-id.png?fit=max&auto=format&n=POxrbHB6_BZDU4E9&q=85&s=1cd11e3ecfab758a317fec937cf8f087" alt="GitLab 仪表盘的 General 设置页面，Project ID 已高亮显示。" width="950" height="775" data-path="images/gitlab/gitlab-project-id.png" />
    </Frame>
  </Step>

  <Step title="生成访问令牌">
    前往 **Settings** > **Access Tokens**，选择 **Add new token**。

    按以下设置配置令牌：

    * **Name**：Mintlify
    * **Role**：Maintainer（私有仓库必需）
    * **Scopes**：`api` 和 `read_api`

    点击 **Create project access token** 并复制该令牌。

    <Note>
      如果无法使用 Project Access Tokens，可以改用 Personal Access Token。请注意，Personal Access Token 会过期，需要定期更新。
    </Note>

    <Frame>
      <img src="https://mintcdn.com/mintlify-mintlify-add-i-to-quickstart-8818/POxrbHB6_BZDU4E9/images/gitlab/gitlab-project-access-token.png?fit=max&auto=format&n=POxrbHB6_BZDU4E9&q=85&s=0caa3ef30b6d2c1d0621497e03fd8939" alt="GitLab 仪表盘的 Access tokens 页面，为 Mintlify 配置的设置已高亮显示。" width="1166" height="904" data-path="images/gitlab/gitlab-project-access-token.png" />
    </Frame>
  </Step>

  <Step title="设置连接">
    在 [Mintlify 仪表盘](https://dashboard.mintlify.com/settings/deployment/git-settings)：

    1. 输入你的项目 ID 和访问令牌。
    2. 完成其他必填配置。
    3. 点击 **Save Changes**。

    <Frame>
      <img src="https://mintcdn.com/mintlify-mintlify-add-i-to-quickstart-8818/POxrbHB6_BZDU4E9/images/gitlab/gitlab-config.png?fit=max&auto=format&n=POxrbHB6_BZDU4E9&q=85&s=0ac7cc87574092ab05cc630e7b8b00a1" alt="Mintlify 仪表盘的 Git 设置页面，GitLab 配置选项已高亮显示。" width="2994" height="1704" data-path="images/gitlab/gitlab-config.png" />
    </Frame>
  </Step>
</Steps>

<div id="create-the-webhook">
  ## 创建 Webhook
</div>

Webhook 可在发生更改时向我们发送事件，从而自动触发部署。

<Steps>
  <Step title="进入 Settings > Webhooks 并点击“Add new Webhook”">
    <Frame>
      <img src="https://mintcdn.com/mintlify-mintlify-add-i-to-quickstart-8818/POxrbHB6_BZDU4E9/images/gitlab/gitlab-webhook.png?fit=max&auto=format&n=POxrbHB6_BZDU4E9&q=85&s=83524a5b73c5a654e78e2fa9471dc234" width="3014" height="1704" data-path="images/gitlab/gitlab-webhook.png" />
    </Frame>
  </Step>

  <Step title="设置 URL 和 Webhook">
    在“URL”字段中输入端点 `https://leaves.mintlify.com/gitlab-webhook`，并将 Webhook 命名为 “Mintlify”。
  </Step>

  <Step title="粘贴令牌">
    粘贴在完成连接设置后生成的 Webhook 令牌。

    <Frame>
      <img src="https://mintcdn.com/mintlify-mintlify-add-i-to-quickstart-8818/POxrbHB6_BZDU4E9/images/gitlab/gitlab-show-webtoken.png?fit=max&auto=format&n=POxrbHB6_BZDU4E9&q=85&s=d5c217b162a01eb27e9fb73cd1a62637" width="555" height="527" data-path="images/gitlab/gitlab-show-webtoken.png" />
    </Frame>
  </Step>

  <Step title="选择事件">
    选择以下事件以触发 Webhook：

    * **Push events**（所有分支）
    * **Merge requests events**

    完成后应如下所示：

    <Frame>
      <img src="https://mintcdn.com/mintlify-mintlify-add-i-to-quickstart-8818/POxrbHB6_BZDU4E9/images/gitlab/gitlab-project-webtoken.png?fit=max&auto=format&n=POxrbHB6_BZDU4E9&q=85&s=400ca34a2df4a223e4fd5aa1ead3dbf2" alt="GitLab 仪表盘中的 Webhook 页面。为 Mintlify 配置的设置已高亮显示。" width="1161" height="1740" data-path="images/gitlab/gitlab-project-webtoken.png" />
    </Frame>
  </Step>

  <Step title="测试 Webhook">
    创建 Webhook 后，点击“Test”下拉菜单并选择“Push events”以发送示例负载，核验配置是否正确。若配置无误，将显示“Hook executed successfully: HTTP 200”。

    这有助于你确认一切正常运行，并确保你的文档能与 GitLab 仓库正确同步。

    <Frame>
      <img src="https://mintcdn.com/mintlify-mintlify-add-i-to-quickstart-8818/POxrbHB6_BZDU4E9/images/gitlab/gitlab-project-webtoken-test.png?fit=max&auto=format&n=POxrbHB6_BZDU4E9&q=85&s=cfb7e155227eac73eee7466eebe4d27f" width="1161" height="724" data-path="images/gitlab/gitlab-project-webtoken-test.png" />
    </Frame>
  </Step>
</Steps>
