创建一个GitHub Webhook,用于在拉取请求被接受并合并到主分支时触发。

57

我有一个Webhook,目前会在推送到任何分支上时触发。这会导致Webhook过于频繁地触发。理想情况下,当将拉取请求合并到master时,Webhook才会触发。但我并没有看到这个选项:

enter image description here

是否有方法可以获得其他的Webhook选项或以某种方式自定义Webhook?


1
你能告诉我你是如何解决这个问题的吗?因为我也遇到了同样的问题,我需要在代码推送到主分支时才触发任务。 - user11668570
2个回答

52

所以,您无法自定义触发器的条件,但正如LeGec所提到的,您可以自定义代码,使其仅在合并Pull Request时触发。

要做到这一点,请确保您的脚本响应PullRequestEvent。测试的条件为:

  • "action"为"closed"
  • "merged"(在"pull_request"内)为true

这样,您的脚本就可以忽略在Pull Request上发生任何其他活动(包括关闭而不合并)时收到的所有ping。


19

我看不到任何定制触发器条件的方法。

我建议在接收端编写代码,仅在检测到推送符合您的条件时触发您的操作,例如:

  • payload.ref == "refs/head/master"
  • payload.commits[0] matches the structure of a merged pull request(<-这可能需要从提交 API 获取一些额外的信息)

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