我正在使用Webhook to Jenkins for Bitbucket插件在Bitbucket提交时触发Jenkins多分支管道作业扫描。
提交时不会触发Jenkins扫描。我收到错误Jenkins response: No git jobs using repository
和No Git consumers using SCM API plugin
。当我执行“配置检查”时(即,当我在插件的模态对话框中按下“ Trigger Jenkins”按钮时)-我收到这些错误,什么都没有发生。
我的多分支管道作业配置有Git
插件(4.x)的最新版本,并且Bitbucket挂钩配置为使用此插件(不是Bitbucket Branch Source
插件-请记住,该插件允许您在Jenkins端使用/或)。
This link说,您应该向[path-to-jenkins]/git/notifyCommit?url=[bitbucket repository].git
发送一个curl请求,以测试触发作业并排除某些问题。这对我有用:它使用此存储库列出作业,然后按预期触发多分支管道扫描。但是,实际上无法在特定于Bitbucket项目的插件配置中设置此URL-由于查询字符串,它会引发错误。没有查询字符串,它将返回相同的错误。
许多在线用户(包括this question)建议在Jenkins项目配置中启用“轮询SCM”,以解决此问题。从架构上讲,这只是在非常有限的情况下的一种好方法。它迫使您使用基于“轮询”的架构,Jenkins借此在指定的时间间隔询问Bitbucket是否进行了更改。就我而言,我使用的是“推送通知”类型的体系结构,以便在发生特定事件时,Bitbucket可以通知Jenkins。
此外,Poll SCM
甚至不是多分支管道作业的配置选项。
更进一步,许多人只提供有关Jenkins端的Bitbucket Branch Source
插件的答案-但Webhook to Jenkins for Bitbucket
的作者允许用户改用Git
插件研究解决方案时遇到问题。