前提条件
- 在你要安装该应用的 GitHub Enterprise Server 组织中拥有管理员权限
- 能访问你要安装该应用的组织仓库
- 具备与我们外部服务通信的网络连通性(参见下方的 网络要求 部分)
网络要求
出站连接
- Mintlify 的 API 端点 (https://leaves.mintlify.com)
- Webhook 接收端(443 端口)
防火墙配置
- 来自 Mintlify 静态 IP 地址的连接:
54.242.90.151 - 到 Mintlify 服务域名的 HTTPS(端口 443)连接
- 对 Mintlify 服务域名的 DNS 解析
步骤 1:注册 GitHub 应用
1
前往组织设置
- 在 GitHub 的任意页面右上角,点击你的个人头像。
- 点击 Your organizations。
- 在你想为其创建应用的组织旁边,点击 Settings。
2
创建新的 GitHub 应用
- 在左侧边栏中,点击 Developer settings。
- 点击 GitHub Apps。
- 点击 New GitHub App。
3
配置应用的基本信息
进行如下设置:
- GitHub App name:
Mintlify - Description:
Integration with Mintlify services - Homepage URL:
https://mintlify.com - User authorization callback URL:
https://your-github-server.com/(替换为你实际的 GHES 域名)
步骤 2:配置应用权限
1
设置仓库权限
为该应用设置以下权限。无需为组织(Organization)、账户(Account)或企业(Enterprise)配置任何权限:
- Checks: 读取和写入
- Contents: 读取和写入
- Deployments: 读取和写入
- Metadata: 只读
- Pull Requests: 读取和写入
2
订阅事件
选择以下 webhook 事件:
- Installation(安装)
- Installation Target(安装目标)
- Create(创建)
- Delete(删除)
- Public(公开)
- Pull Request(拉取请求)
- Push(推送)
- Repository(仓库)
步骤 3:生成并保护凭证
1
创建应用
点击 Create GitHub App。您会被重定向到该应用的设置页面。
2
生成私钥
- 向下滚动至 Private keys 部分。
- 点击 Generate a private key。
- 下载
.pem文件并安全保存。
3
记录应用凭证
记录以下信息:
- App ID(显示在设置页面顶部)
- Client ID(位于 “About” 部分)
- Client Secret(生成后请妥善保存)
步骤 4:安装应用
1
导航到应用安装页面
- 在应用设置页面,点击左侧边栏中的 Install App。
- 从列表中选择你的组织。
2
选择安装范围
选择以下其中一项:
- All repositories(适用于组织内的所有代码仓库)
- Only select repositories(仅选择特定代码仓库)
3
完成安装
- 点击 Install。
- 记录 URL 中的 installation ID。例如,在
https://your-github-server.com/settings/installations/12345中,字符串12345就是 installation ID。
步骤 5:配置 webhook URL
1
返回应用设置
- 返回你的应用设置页面。
- 向下滚动到 Webhook 部分。
2
设置 webhook URL
按如下方式配置:
- Webhook URL:
https://leaves.mintlify.com/github-enterprise/:subdomain(将:subdomain替换为我们提供给你的 URL) - Webhook secret: 生成一个随机字符串(32 个以上字符)并妥善保存。Mintlify 也可以为你生成并提供此密钥。
所需凭证
- GitHub Enterprise Server 基础 URL:https://your-github-server.com
- App ID:(来自步骤 3)
- 应用客户端 ID:(来自步骤 3)
- 应用客户端密钥:(来自步骤 3)
- Installation ID:(来自步骤 4)
- 私钥:
.pem文件的全部内容(应通过安全文件传输方式传递) - Webhook 密钥:(来自步骤 5)
用于故障排查的可选凭据
- 组织名称:你的 GitHub 组织名称
- 仓库名称:安装该应用的具体仓库
- GitHub Enterprise Server 版本:可在站点管理后台中查看
Mintlify 连接
- 将你的 GHES 环境与现有的 Mintlify 部署集成。
- 将你的 GHES 环境与我们为你准备的新 Mintlify 部署集成。
根据我们的配置,webhook 的 URL 可能会发生变化。我们会测试集成,并向你提供新的 URL。
测试集成
1
验证 webhook 投递
- 前往 GitHub 应用的设置页面。
- 点击 Advanced 选项卡。
- 在 “Recent Deliveries” 中检查 webhook 是否成功投递。
- 查找 HTTP 200 响应。
2
测试仓库访问
- 在已安装的仓库中创建一个测试 issue 或 pull request。
- 确认 Mintlify 的响应是否符合预期。
常见问题与故障排查
应用安装因权限错误而失败
应用安装因权限错误而失败
请确保你具备:
- 创建应用所需的站点管理员权限
- 安装应用所需的组织所有者或管理员权限
- 如果要安装到特定仓库,还需具备相应仓库权限
Webhook 没有被投递
Webhook 没有被投递
- 验证 webhook URL 是否正确且可访问。
- 确保你的防火墙允许向外发起 HTTPS 连接。
- 检查 webhook secret 是否与配置时设置的一致。
- 在 GitHub App 设置的「Advanced」选项卡中查看 webhook 投递日志。
我遇到 SSL/TLS 证书错误
我遇到 SSL/TLS 证书错误
你的 GHES 可能使用了自签名证书,因此我们的服务无法验证你服务器的证书。解决方案: 确保你的 GHES 使用有效的 SSL 证书。
应用已安装,但没有响应事件
应用已安装,但没有响应事件
- 确认 webhook 已成功投递,并且我们的服务器以 200 响应码进行确认。
- 确认安装过程中已授予所需权限。
我可以限制应用访问哪些仓库吗?
我可以限制应用访问哪些仓库吗?
可以,在安装过程中你可以选择「Only select repositories」,并挑选特定仓库。之后也可以在你组织的已安装应用设置中进行修改。这是推荐的安装方式。
之后如何更新应用权限?
之后如何更新应用权限?
- 以站点管理员身份进入应用设置。
- 根据需要修改权限。
- 应用需要由组织所有者重新批准。
- 如有权限变更,请通知我们,因为这可能会影响功能。
我们的 GHES 部署在企业防火墙、nginx 代理或类似环境之后
我们的 GHES 部署在企业防火墙、nginx 代理或类似环境之后
你需要:
- 在防火墙中将我们的服务域名加入允许列表。
- 确保可以向外建立 HTTPS(443 端口)连接。
- 如果不允许直接访问互联网,请配置代理。
这能在物理隔离(air-gapped)环境中的 GHES 上工作吗?
这能在物理隔离(air-gapped)环境中的 GHES 上工作吗?
不能,你的 GHES 必须能够与我们托管在云端的服务器通信。
如果我需要帮助,应联系谁?
如果我需要帮助,应联系谁?
请联系你在 Mintlify 对接的客户成功代表,或通过 [email protected] 联系我们的支持团队,并提供:
- 你的 GitHub Enterprise Server 版本
- 具体错误信息
- 相关问题的截图
- 网络 / 防火墙配置详情(如适用)