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

7
我有一个在Github仓库上运行的TeamCity项目。在构建完成后,它使用TeamCity的构建功能“向Github报告更改状态”,该功能通过 - https://api.github.com 报告构建状态。
现在我想让另一个TeamCity项目针对同一Github仓库运行构建并将构建状态报告给Github。
如何使Github以不同的方式显示这2个状态检查?尽管2个构建都向Github报告状态,但Github仅显示“1个挂起的检查”或“1个状态检查已成功完成”。
2个回答

12

编辑:我没有意识到您已经安装了该插件,但我会保留以下步骤供其他用户参考。 我认为您需要单独的构建配置,并确保自定义context设置。

我今天试用了一下,您不能使用JetBrains的“提交状态报告程序”来完成此操作。 但是,您可以使用此插件:https://github.com/jonnyzzz/TeamCity.GitHub

安装不太直观 -

  1. 请前往此处(选择Log in as guest):https://teamcity.jetbrains.com/viewType.html?buildTypeId=bt398
  2. 在最新成功的生成中,在“Artifacts”列中点击“View”链接。
  3. 然后,您单击teamcity.github.zip,并下载一个zip文件
  4. 然后,您将该zip上传到TeamCity的插件部分
  5. 这样做后,进入“生成特征”,单击“添加生成特征”,然后选择“将更改状态报告给GitHub”。
  6. 然后填写类似于此的表格(注意:您需要为每个要报告的构建配置都需要这样做。我还在单独的代理上运行每个构建,这可能是必要的):

TeamCity with Github Statuses


1
不,它可以是内部的。在这种情况下,TeamCity将轮询GitHub的状态。@Ruskin - ratherblue
1
@Ruskin 看起来你在另一个问题中解决了它。如果你遇到其他问题,请告诉我。 - ratherblue
@ratherblue 这个插件是否会发布测试用例失败而不是指定构建已经失败了?在我的情况下,构建失败了,有4个测试用例(我们可以在构建概述中查看),这个插件会获取结果并发布到 GitHub 上吗?先感谢您! - user6136315
@user6136315 我不知道有没有这个功能。我认为你必须链接到失败的测试。虽然 GitHub 不断改进他们的服务,所以可能会有这个功能,因为这个回答已经是1.5年前的了。 - ratherblue
@ratherblue 在 TeamCity 2017.1 或 2017.1.1 上也无法工作。我上传了那个 zip 文件并重新启动了 TeamCity,但插件没有出现在插件列表中,构建功能也没有更新。 - user6136315
显示剩余3条评论

3
状态是通过称为上下文的东西创建的:

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

对于每个提交,显示每个上下文的最新状态。对于整个拉取请求(在合并按钮旁边),显示拉取请求中最新提交的每个上下文状态的最新状态。
这意味着,如果您想要显示多个状态检查 - 这些状态需要使用不同的上下文创建。这是由创建状态的应用程序定义的内容,而不是GitHub。GitHub仅显示状态。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接