4

我有一个应用程序可以对新分支上的存储库进行更改并将其提交到存储库,然后创建一个 PR。PR 开始了两个构建 - 一个用于 travis,一个用于 jenkins。我想知道是否有一种方法可以在所有检查都通过 PR 后收到通知,以便我的应用程序可以合并 PR。目前我只在 github 上看到一种设置状态事件的方法,该事件仅在其中一个状态更新时通知我。

我可以做到这一点的一种方法是在每个 bulid 一个接一个经过时将此信息存储在某处,并在它们全部完成时合并。但是,我希望避免将信息存储在某处,因为我希望有一个短暂的实现。

我正在考虑的另一种方法是:一旦收到状态事件,我可以解析头部提交的 statuses_url,并验证其他构建的状态。我认为这个问题是 statuses_url 显示了这个head的所有构建,而不一定是与 PR 关联的那些。

我想知道是否有一种方法可以在所有检查完成后接收单个通知并同时报告其状态。

4

1 回答 1

2

您可以通过为 PR Status 事件设置一个 webhook 来完成此操作,该事件调用组合状态端点以获取该特定 sha 的整体状态。然后,您可以对任何以 sha 作为head.

我最近实现了类似这样的东西,以根据 PR 状态(此处)有条件地添加/删除标签。

于 2019-04-16T12:13:28.300 回答