我尝试使用以下方法通过 curl 命令执行(触发)jenkins 作业(不是参数化作业),但它显示了这些结果。我的詹金斯版本是詹金斯 2.73.3
curl -X POST -u jenkins_user_name:jenkins_user_passwd http://jenkins_server/job/job_name/build
Run Code Online (Sandbox Code Playgroud)
curl -X POST http://jenkins_server/job/job_name/build?token=wefiytgwiefiweihfqweiodf
Run Code Online (Sandbox Code Playgroud)
它也给出了同样的错误。它说禁止 403
之后,我为 jenkins 用户创建了一个 API 令牌并尝试过。

curl -X POST -u auto:testingdae6dc22a73048e6d596e7b0 http://jenkins_server/job/job_name/build?token=wefiytgwiefiweihfqweiodf
Run Code Online (Sandbox Code Playgroud)
但它也一样,它说禁止 403
其实我也遵循了这个答案。https://www.nczonline.net/blog/2015/10/triggering-jenkins-builds-by-url/ 这对我也不起作用。
每次,都是403禁止的。我想我无法正确验证 jenkins 用户。
Pra*_*tta 14
找到了答案。其实这些步骤是对的。我想提一下正确的步骤。
在 Jenkins 中创建一个用户,您可以使用该用户密码或 API 令牌来触发 Jenkins 作业。但是为该用户创建 API 令牌要好得多。但两种方式都可以正常工作。
但是您必须为 Jenkins Job 创建一个身份验证令牌
使用密码
curl -I -u auto:<userpasswd> http://<jenkins_server>/job/test/build?token=wefiytgwiefiweihfqweiodf
Run Code Online (Sandbox Code Playgroud)
使用 API 令牌
curl -I -u auto:<user_api_token> http://<jenkins_Server>/job/test/build?token=wefiytgwiefiweihfqweiodf
Run Code Online (Sandbox Code Playgroud)
这些是使用jenkins user Password和jenkins user API token 的结果。
实际上,您也可以发送此请求,而无需“-I”。
curl -u auto:<jenkins_user_token> http://<jenkins_server>/job/test/build?token=wefiytgwiefiweihfqweiodf
curl -u auto:<jenkins_user_password> http://<jenkins_server>/job/test/build?token=wefiytgwiefiweihfqweiodf
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54887 次 |
| 最近记录: |