我想在jenkins上执行特定的工作时创建新的jenkins。 我使用json字符串来这样做
以下是使用的内容
json="{\"parameter\": [{\"name\": \"task\", \"value\": \"$task\"}], \"\": \"\"}"
url=http://xx.xx.xx.xx:8080/job/$task/build
curl -X POST $url -d token=zorn --data-urlencode json="$json"
但是当我执行此操作时,我收到以下错误:
+ json='{"parameter": [{"name": "task", "value": "test123"}], "": ""}'
+ url=http://xx.xx.xx.xx:8080/job/test123/build
+ curl -X POST http://xx.xx.xx.xx:8080/job/soma/build -d token=zorn --data-urlencode 'json={"parameter": [{"name": "task", "value": "test123"}], "": ""}'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 138 0 286k --:--:-- --:--:-- --:--:-- 286k
200 263 131 263 0 138 158k 85132 --:--:-- --:--:-- --:--:-- 122k
<html><head><title>Error 404</title></head><body bgcolor="#ffffff"><h1>Status Code: 404</h1>Exception: <br>Stacktrace: <pre>(none)
</pre><br><hr size="1" width="90%"><i>Generated by Winstone Servlet Engine v0.9.10 at Mon Aug 26 12:36:10 IST 2013</i></body></html>Notifying upstream projects of job completion
Finished: SUCCESS
请有人指导我,因为我哪里出错了。 新作业test123无法创建。
答案 0 :(得分:-1)
步骤1:
GET http://username:password@xx.xx.xx.xx:8080/crumbIssuer/api/json
回应:
{
"_class": "hudson.security.csrf.DefaultCrumbIssuer",
"crumb": "203a7c1e1d9c9b0accba64f41362801c",
"crumbRequestField": "Jenkins-Crumb"
}
步骤2:
+ json='{"parameter": [{"name": "task", "value": "test123"}], "": ""}'
+ url=http://xx.xx.xx.xx:8080/job/test123/build
+ curl -X POST http://xx.xx.xx.xx:8080/job/soma/build -d \
token=zorn --data-urlencode \
'json={"parameter": [{"name": "task", "value": "test123"}], "": ""}' \
-H 'Jenkins-Crumb: 203a7c1e1d9c9b0accba64f41362801c'