1

我希望在 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。

4

1 回答 1

-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' 
于 2018-05-29T07:20:19.197 回答