Github 拉取请求的多个状态检查

Github multiple status checks for pull request

我有一个 teamcity 项目 运行ning 根据 github 回购构建。构建完成后,它使用名为 "Report Change Status to Github" 的 teamcity 构建功能,它使用 - https://api.github.com

报告构建状态

现在我想要另一个 teamcity 项目 运行 针对同一个 github 存储库构建并将构建状态报告给 github。

如何让 github 以不同方式显示 2 个状态检查?尽管 2 个构建向 github 报告状态,github 只显示“1 个未决检查”或“1 个状态检查成功完成”

状态是使用称为上下文的东西创建的:

https://developer.github.com/v3/repos/statuses/#create-a-status

对于每次提交,都会显示每个上下文的最新状态。对于整个拉取请求(合并按钮旁边),显示拉取请求中最新提交的最新每个上下文状态。

这意味着如果您希望显示多个状态检查——需要在不同的上下文中创建这些状态。这是由创建状态的应用程序定义的,而不是 GitHub。 GitHub 只显示状态。

编辑:我不知道你已经安装了插件,但我打算把步骤留给其他用户。我认为您需要单独的构建配置并确保自定义 context 设置。

我今天在玩这个,你不能用 JetBrains "Commit Status Reporter" 来做这个。你可以使用这个插件:https://github.com/jonnyzzz/TeamCity.GitHub

安装并不简单--

  1. 转到此处(选择 Log in as guest):https://teamcity.jetbrains.com/viewType.html?buildTypeId=bt398
  2. 在最近成功构建的"Artifacts"栏中点击"View"link。
  3. 然后你点击teamcity.github.zip它会下载一个zip文件
  4. 然后在插件部分将该 zip 文件上传到 TeamCity
  5. 完成后,转到构建功能并单击 "Add Build Feature" 和 select "Report change status to GitHub"。
  6. 然后用类似这样的内容填写表格(注意:您需要为每个要报告的构建配置使用此信息。我也是 运行 每个构建在可能需要的单独代理上):