Gitlab Webhook 无法启动 Jenkins 作业(通过 Build Token Root 插件)
Gitlab Webhook cant launch Jenkins job (via Build Token Root Plugin)
我想在提交到 GitLab(git 面板)后自动开始 Jenkins 构建。
所以我设置了这个插件 https://wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin 并配置了它:
然后我将 webhook 添加到 GitLab:
现在我可以通过 http 请求(例如来自浏览器)启动 Jenkins 任务,但是 w/o 从 Gitlab 成功(通过按钮 "Test Hook")。为什么?
GitLab的webhook和http-request不一样吗?
我可以通过 https://wiki.jenkins-ci.org/display/JENKINS/Gitlab+Hook+Plugin 自动启动这个 Jenkins 作业,但是不能,因为 Jenkins 标准 git 插件的限制。
你说你已经配置了 Build Token Root Plugin,但是你的 webhook URL 以 /build?token=test
.
结尾
虽然如果你阅读插件文档,它会说:
This plugin offers an alternate URI pattern which is not subject to the usual overall or job read permissions. Just ping buildByToken/build?job=NAME&token=SECRET
.
您正在使用的 URL 在具有身份验证的 Jenkins 设置中将不起作用——因此存在 Build Token Root 插件的原因——您需要使用该插件的 URL 模式。
即在你的情况下,它应该是这样的:
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 每次.
我想在提交到 GitLab(git 面板)后自动开始 Jenkins 构建。
所以我设置了这个插件 https://wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin 并配置了它:
然后我将 webhook 添加到 GitLab:
现在我可以通过 http 请求(例如来自浏览器)启动 Jenkins 任务,但是 w/o 从 Gitlab 成功(通过按钮 "Test Hook")。为什么?
GitLab的webhook和http-request不一样吗?
我可以通过 https://wiki.jenkins-ci.org/display/JENKINS/Gitlab+Hook+Plugin 自动启动这个 Jenkins 作业,但是不能,因为 Jenkins 标准 git 插件的限制。
你说你已经配置了 Build Token Root Plugin,但是你的 webhook URL 以 /build?token=test
.
虽然如果你阅读插件文档,它会说:
This plugin offers an alternate URI pattern which is not subject to the usual overall or job read permissions. Just ping
buildByToken/build?job=NAME&token=SECRET
.
您正在使用的 URL 在具有身份验证的 Jenkins 设置中将不起作用——因此存在 Build Token Root 插件的原因——您需要使用该插件的 URL 模式。
即在你的情况下,它应该是这样的:
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 每次.