为 GitHub 拉取请求添加验证检查

Posted

技术标签:

【中文标题】为 GitHub 拉取请求添加验证检查【英文标题】:Add validation checks for GitHub pull requests 【发布时间】:2016-07-05 16:56:19 【问题描述】:

我想在我的 GitHub 存储库中添加对 master 分支的每个 PR 的验证检查(用于与我们的 Bamboo CI 集成)。

也就是说,每次推送到主分支都会触发 Bamboo 构建,该构建必须在推送准备好合并之前通过。

在“主分支保护”下的回购设置页面上-->“合并前需要通过状态检查”

我没有看到 Bamboo 版本的状态检查选项。我该如何添加它?

我已经在 repo 设置的 Webhooks & Services 部分添加了 Bamboo 服务,并测试了该服务可以使用“测试服务”按钮正确触发 Bamboo 构建。

【问题讨论】:

【参考方案1】:

有一个旧的 Bamboo 插件GitHub Status。您可以尝试安装它。

如果这没有帮助,总有一个选项可以添加几个自定义脚本,这些脚本将通过GitHub Status API 发布状态。

其实很简单,你只需要向你的 repo 发出一个POST 请求:

POST /repos/:owner/:repo/statuses/:sha

  "state": "success",
  "target_url": "https://example.com/build/status",
  "description": "The build succeeded!",
  "context": "continuous-integration/jenkins"

其中:sha 是触发构建的提交。它存储在环境变量bamboo.planRepository.revision中。

【讨论】:

以上是关于为 GitHub 拉取请求添加验证检查的主要内容,如果未能解决你的问题,请参考以下文章

在拉取请求完成时隐藏 Github 操作

多用户 Github 拉取请求

如果失败,拉取请求触发的 GitHub 操作不会锁定“合并”按钮

显示已在目标分支中的提交的 GitHub 拉取请求

如何使用 git 查看 GitHub 拉取请求?

将我所有的提交压缩为一个用于 GitHub 拉取请求 [重复]