如何通过远程访问api将数组传递给jenkins参数化作业?

时间:2017-03-31 12:33:20

标签: json curl jenkins jenkins-plugins jenkins-cli

我正在尝试使用curl命令调用Jenkins参数化作业。我正在关注Remote API Jenkins

我有Active选择参数插件。作业的一个参数是主动选择反应参数。

以下是该职位的截图:

enter image description here

我使用以下curl命令通过参数:

触发它
curl -X POST http://localhost:8080/job/active-choice-test/buildWithParameters -u abhishek:token --data-urlencode json='{"parameter": [{"name":"state", "value":"Maharashtra"},{"name":"cities", "value":["Mumbai", "Pune"]}]}'

但是我无法传递应该是json数组的cities参数。上面的脚本给出了错误。

我正在打印状态&像这样的城市变量:

enter image description here

工作正在执行并显示城市错误:

Started by user abhishek
Building in workspace /var/lib/jenkins/workspace/active-choice-test
[active-choice-test] $ /bin/sh -xe /tmp/hudson499503098295318443.sh
+ echo Maharashtra
Maharashtra
+ echo error
error
Finished: SUCCESS

请告诉我如何在使用远程访问API时将数组参数传递给jenkins参数化作业?

1 个答案:

答案 0 :(得分:-1)

您可以将值更改为字符串而不是数组:

curl -X POST http://localhost:8080/job/active-choice-test/buildWithParameters -u abhishek:token --data-urlencode json='{"parameter": [{"name":"state", "value":"Maharashtra"},{"name":"cities", "value":"Mumbai,Pune"}]}'