首先,Github将几乎所有与拉取请求相关的活动聚合到一个Webhook中(与Bitbucket不同,后者允许您区分操作)。 在Jenkins方面,我看到一些帖子指向通用Webhook插件,它允许您摄取Webhook的json并创建变量,但从这里看来,这些变量需要在脚本中使用才能触发/不触发构建。 Github Pull Request Build是另一个流行的插件,但同样没有明确说明“仅在合并PR时触发此构建”,甚至似乎没有提供查找Webhook json中特定值的选项。
除非还有其他插件,否则我没有找到最佳选项(即最少配置只需启动构建)是在Jenkins中为GITSCM轮询配置GitHub挂钩触发器,并在Github侧仅在推送事件上发送Webhook……但这不是我们正在寻找的确切行为。
现在这一切都是通过UI完成的,而且我已经有一段时间没有使用Jenkins了,也许声明性流水线基础设施已经超越了UI,但似乎这应该更加直观。是否有人能够解释他们找到的最简单的实现方式,使用Jenkins和Github仅在合并拉取请求到特定分支时触发构建?