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

# GitLab

> 将文档与 GitLab 仓库同步

我们通过 access token 和 webhook 在 GitLab 与 Mintlify 之间进行认证并同步更改。

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

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

<Note>
  **需要 HTTPS 克隆**：您的 GitLab 项目必须启用 HTTPS 克隆，Mintlify 才能访问您的存储库。您可以在 GitLab 中前往项目的**设置** > **常规** > **可见性和访问控制**部分进行验证。
</Note>

<Steps>
  <Step title="查找您的项目 ID">
    在您的 GitLab 项目中，前往**设置** > **常规**并找到您的**项目 ID**。

    <Frame>
      <img src="https://mintcdn.com/omer-914cc1c6/1pfjDJXEL6HIHDKE/images/gitlab/gitlab-project-id.png?fit=max&auto=format&n=1pfjDJXEL6HIHDKE&q=85&s=c7f0ef7996dc1e5813770046e9294802" alt="GitLab 控制台中的常规设置页面。项目 ID 已突出显示。" width="950" height="775" data-path="images/gitlab/gitlab-project-id.png" />
    </Frame>
  </Step>

  <Step title="生成访问令牌">
    前往**设置** > **访问令牌**并选择**添加新令牌**。

    使用以下设置配置令牌：

    * **名称**：Mintlify
    * **角色**：维护者（私有存储库必填）
    * **范围**：`api` 和 `read_api`

    点击**创建项目访问令牌**并复制令牌。

    <Note>
      如果项目访问令牌不可用，您可以使用个人访问令牌代替。请注意，个人访问令牌会过期，需要定期更新。
    </Note>

    <Frame>
      <img src="https://mintcdn.com/omer-914cc1c6/1pfjDJXEL6HIHDKE/images/gitlab/gitlab-project-access-token.png?fit=max&auto=format&n=1pfjDJXEL6HIHDKE&q=85&s=529adadb960ed37e9c9f0b74b9c54773" alt="GitLab 控制台中的访问令牌页面。为 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. 点击**保存更改**。

    <Frame>
      <img src="https://mintcdn.com/omer-914cc1c6/1pfjDJXEL6HIHDKE/images/gitlab/gitlab-config.png?fit=max&auto=format&n=1pfjDJXEL6HIHDKE&q=85&s=bdbbff80a9e9be5db9f67e8a5f3e9c4a" 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>

Webhooks 使我们在发生更改时接收事件，从而自动触发部署。

<Steps>
  <Step title="前往 Settings > Webhooks 并点击“Add new Webhook”">
    <Frame>
      <img src="https://mintcdn.com/omer-914cc1c6/1pfjDJXEL6HIHDKE/images/gitlab/gitlab-webhook.png?fit=max&auto=format&n=1pfjDJXEL6HIHDKE&q=85&s=9dce33ced4471cb84008f9bb49903999" 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/omer-914cc1c6/1pfjDJXEL6HIHDKE/images/gitlab/gitlab-show-webtoken.png?fit=max&auto=format&n=1pfjDJXEL6HIHDKE&q=85&s=cb400eb4211409dcc24d2360e34fd042" 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/omer-914cc1c6/1pfjDJXEL6HIHDKE/images/gitlab/gitlab-project-webtoken.png?fit=max&auto=format&n=1pfjDJXEL6HIHDKE&q=85&s=e159b68e98377521ee4661548535cda5" 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/omer-914cc1c6/1pfjDJXEL6HIHDKE/images/gitlab/gitlab-project-webtoken-test.png?fit=max&auto=format&n=1pfjDJXEL6HIHDKE&q=85&s=d3b84f35a286d0d32f7555de944da001" width="1161" height="724" data-path="images/gitlab/gitlab-project-webtoken-test.png" />
    </Frame>
  </Step>
</Steps>
