Gitlab Webhook无法启动Jenkins作业(通过Build Token Root插件)

时间:2015-08-28 12:20:01

标签: jenkins gitlab webhooks

我想在提交GitLab(git面板)后自动开始构建Jenkins。

所以我设置了这个插件https://wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin并对其进行了配置:

enter image description here

然后我将webhook添加到GitLab:

enter image description here

现在我可以通过http-request(例如来自浏览器)启动Jenkins任务,但是没有来自Gitlab的成功(通过按钮“Test Hook”)。为什么呢?

GitLab的webhook与http-request不一样吗?

由于Jenkins的标准git插件的限制,我可以通过https://wiki.jenkins-ci.org/display/JENKINS/Gitlab+Hook+Plugin自动启动这个Jenkins工作但不能。

1 个答案:

答案 0 :(得分:5)

您说您已经配置了Build Token Root插件,但您的webhook网址以/build?token=test结尾。

虽然如果你阅读插件文档,它会说:

  

此插件提供备用URI模式,该模式不受通常的整体或作业读取权限的约束。只需ping buildByToken/build?job=NAME&token=SECRET

您正在使用的网址在Jenkins设置中无法使用身份验证 - 因此存在构建令牌根插件的原因 - 您需要使用该插件的网址模式。

即。在你的情况下,它应该是这样的:
https://jenkins.example.com/buildByToken/build?job=Config+Generator+Launch+UAT+PP+PROD&token=test

对我来说,在作业名称中有两个级别/job/似乎有点奇怪,但也许您正在使用文件夹插件或其他东西?因此,job参数可能必须为Configuration+Delivery/job/Config+Generator+Launch+UAT+PP+PROD左右。

在任何情况下,您都可以直接通过浏览器调用这些URL,而不必每次都更改GitLab挂钩URL并点击 Test Hook