如何在不推送新提交的情况下重新启动 Github 检查?

Lab*_*cle 40 triggers github pull-request jenkins

我目前正在使用 Github 与基本的 Jenkins 集成(使用 Github 插件):每次我推送一些东西时,我的 Jenkins 测试都会被触发,并且状态会报告给 Github。

由于一些肮脏的原因(我知道根本原因在这里),我的测试可能会随机失败,然后向 Github 报告失败状态(这阻止了合并 PR 的可能性:这是预期的行为)。

您知道是否可以在不推送新提交的情况下重新启动测试吗?因为我知道如果我重新启动测试,它们就会通过。

提前致谢

小智 34

执行git commit --amend和强制推送使 github 重新触发所有检查。不完美,但比关闭然后重新打开 PR 好。

  • 就其价值而言,此方法有效,因为提交日期/时间是提交哈希的输入。因此,即使文件内容没有更改,Git(和 GitHub)也会将此提交识别为新提交。 (3认同)
  • 只需确保在强制推送之前没有人拉取您的最后一次提交,否则你们都会度过一段糟糕的时光。 (2认同)

Adi*_*l B 28

更新:您还可以将空提交推送到您的分支以重新触发状态检查:git commit -m "retrigger checks" --allow-empty然后git push <branchname>

您可以通过关闭然后重新打开拉取请求来完成此操作。这将导致所有状态检查在同一个提交上再次运行。

  • 看来可行!但我想知道是否有更好的方法可以做到这一点:) (3认同)

Dha*_*tle 14

现在,Github UI 中有一个按钮可以重新运行检查。不确定它是否适用于詹金斯,但它适用于我的情况。

在此输入图像描述

  • 这种“重新运行检查”似乎没有考虑到 pr 打开后主分支上所做的更改。 (2认同)

Igo*_*gor 11

如果您打开失败的 PR,在“检查”选项卡下,您将看到对您的 PR 执行的所有检查的列表。在失败的旁边,会有一个可点击的文本,上面写着“重新运行”

在此输入图像描述

  • 不适用于外部(Jenkins)检查 (2认同)