通过curl POST将参数传递给jenkins作业不起作用?

kol*_*r23 5 post curl parameterized jenkins

我尝试发射

curl -X POST -u "user:pass" -H Jenkins-Crumb:thecrumbnumber http://myjenkinsserver/jenkins/job/testjob/buildWithParameters?=PARAMETER=somenumber

它通过触发参数化构建来工作,但问题是没有值传递给构建(即使在作业中设置了令牌也很奇怪,我可以在没有它的情况下触发作业).在jenkins中,该作业有一个配置字符串"PARAMETER",有或没有一些默认值,但从不传递curl启动的参数.我可能缺少什么?

小智 11

我正在使用:

curl -X POST -u "user" "http://myjenkins/path/to/my/job/buildWithParameters?GERRIT_REFNAME=feature/retry&goal=package"
Run Code Online (Sandbox Code Playgroud)

在这里,它的工作就像一个魅力.

注意您粘贴的URL中"PARAMETER"前面的"=".


mak*_*aki 5

使用 curl 表单参数 ( -F param1=value1) 解决了问题:

# parameters need to be passed via: -F param1=value1 -F param2=value2 ...
curl -X POST http://myJenkins/job/testjob/buildWithParameters?token=<myToken> -F param1=value1
Run Code Online (Sandbox Code Playgroud)

我正在远程使用Trigger 构建,但遇到了同样的问题,但上述方法均无济于事。当我通过url 参数传递参数时

# job is triggered but parameters are not propagated
curl -X POST http://myJenkins/job/testjob/buildWithParameters?token=<myToken>&param1=value1
Run Code Online (Sandbox Code Playgroud)

作业已触发,但参数未传播