集成

GitHub

将 GitHub 连接到 Castrel,用于基于 webhook 的部署诊断与代码上下文关联。

GitHub 集成可让 Castrel 接收部署事件,并将故障与代码变更进行关联分析。

能力

  • 通过 GitHub Webhook 接收部署事件
  • 提供仓库与提交上下文用于根因分析
  • 在部署校验中关联 Pull Request 与 commit diff
  • 在 Pull Request 合并后触发自动化

配置步骤

  1. 在 Castrel 中打开 Integrations > GitHub
  2. 授权 Castrel 的 GitHub App 访问目标仓库。
  3. 为目标仓库启用部署相关 webhook 事件。
  4. 触发一次测试部署,确认 Castrel 成功接收事件。

通过 PR 合并触发自动化

仓库内置了 GitHub Actions 工作流 .github/workflows/pr-merge-automation.yml。当 Pull Request 被合并时,GitHub 会向你配置的自动化入口发送一个 github.pull_request.merged 事件。

使用方式:

  1. 在 GitHub 仓库 Secrets 中配置 CASTREL_PR_MERGE_WEBHOOK_URL,指向你的自动化入口。
  2. 如入口需要鉴权,再配置 CASTREL_PR_MERGE_WEBHOOK_BEARER_TOKEN
  3. 在 Castrel 自动化里把事件触发条件配置为 github.pull_request.merged
  4. 按需读取 payload 中的仓库名、PR 编号、目标分支、merge commit SHA 等字段。

该工作流不会 checkout PR 代码,只消费 GitHub 事件本身并转发 webhook,避免把仓库内的自动化逻辑和具体业务动作绑死。

权限建议

建议仅授予仓库元数据、提交记录和部署事件的读取权限。除非流程明确需要,不建议授予写权限。