我正在尝试配置一个著名的事件管理工具来执行对 Jenkins 作业构建 URL 的 POST 请求以响应一些警报。
在这个工具中,由于某种原因,我无法将Jenkins 作业构建端点如下所示:
https://<user>:<apiToken>@my-jenkins.com/blabla/job/blabla/build?token=<myTokenName>
因此,该工具提供的唯一替代方法是将授权详细信息作为标题。
在此之前,我正在尝试使用curl
. 出于这个原因,我使用以下curl
命令调用带有 Basic auth 标头的 Jenkins URL:
curl -X POST -H 'Authorization:Basic <user:apiToken in base64>' -H 'Jenkins-Crumb:<my-crumb>' 'https://my-jenkins.com/blabla/job/blabla/build?token=<myTokenName>'
但是给我一个401: Not authorized (Invalid password/token for user: my-user)。如果我在 URL 中放置与第一个代码片段相同的凭据,它就可以工作。
我已阅读以下文档:https ://wiki.jenkins.io/display/JENKINS/Authenticating+scripted+clients似乎设置基本身份验证标头非常简单,但我认为我在这里遗漏了一些东西,因为它当我使用curl
.
我也用谷歌搜索了一下,似乎每个人都在 URL 中调用 Jenkins 作业构建 URL user:apiToken
,但正如我所提到的,该工具不允许放置这样的 URL。
有没有人使用基本的身份验证标头执行 Jenkins 工作启动?
任何帮助,将不胜感激。非常感谢!