是否可以在不使用webhook的情况下使用Github Pull Request Builder触发Jenkins作业?

tquggr8v  于 2023-10-17  发布在  Jenkins
关注(0)|答案(1)|浏览(147)

我正在使用Jenkins在github存储库中构建和测试代码。我想在github上用特定的评论/标签进行PR时自动触发测试。
我发现插件github pull request builder支持这些功能。然而,我找到的每一篇教程/文章都依赖于在新的PR上从github发送一个webhook到jenkins。
问题是我不想把我的jenkins暴露给github,而是想使用一个类似cron的时间表来轮询符合触发测试标准的新PR,然后使用github API将结果推送到PR评论。
有谁知道任何文档可能使用这样的方法吗?或者使用此方法配置作业?我试过在Github Pull request builder中设置一个Crontab行和触发短语,但似乎没有成功触发一个作业。

disho6za

disho6za1#

我怀疑是否有官方文件对此进行说明,但这肯定是可行的。
你需要两份工作。一个作业定期运行(大约每3分钟运行一次),另一个作业运行实际的构建。轮询作业需要轮询所有打开的PR,并递归地检查它们的最新提交是否已经构建。为此,您需要使用GitHub pull request API。如果是这样的话,那么你就可以完成构建了。如果没有,则发送PR ID作为参数,并触发保存实际构建部件的第二个作业。
如果您发现重叠生成有任何问题,可以选择使此生成为非并发生成。然后,您的构建将一个接一个地运行,并在每个PR中构建最新的提交。
在构建开始之前,请确保使用GitHub API更新准备构建的提交的状态。然后轮询作业将知道它不应该为构建再次排队提交。

相关问题