我试图通过使用以下方法通过curl命令执行(触发)jenkins作业(不是参数化作业),但它显示了这些结果.我的jenkins版本是Jenkins 2.73.3
curl -X POST -u jenkins_user_name:jenkins_user_passwd http://jenkins_server/job/job_name/build
但它说Forbidden 403
curl -X POST http://jenkins_server/job/job_name/build?token=wefiytgwiefiweihfqweiodf
之后,我为jenkins用户创建了一个API令牌并尝试过.
curl -X POST -u auto:testingdae6dc22a73048e6d596e7b0 http://jenkins_server/job/job_name/build?token=wefiytgwiefiweihfqweiodf
但它也是一样,它说Forbidden 403
实际上我也遵循了这个答案. https://www.nczonline.net/blog/2015/10/triggering-jenkins-builds-by-url/这对我来说也没用.
解决方法
找到了答案.实际上这些步骤是正确的.我想提一下正确的步骤.
在Jenkins中创建用户,您可以使用该用户密码或API令牌来触发Jenkins作业.但是为该用户创建API令牌要好得多.但两种方式都很好.
但您必须为Jenkins Job创建身份验证令牌
使用密码
curl -I -u auto:<userpasswd> http://<jenkins_server>/job/test/build?token=wefiytgwiefiweihfqweiodf
使用API令牌
为该Jenkins用户创建API令牌
curl -I -u auto:<user_api_token> http://<jenkins_Server>/job/test/build?token=wefiytgwiefiweihfqweiodf
这些是使用jenkins用户密码和jenkins用户API令牌的结果.
实际上你可以发送这个请求,也没有“-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