触发jenkins job构建获取参数时遇到了个问题,花了自己一部分时间。
触发构建参数是json如何接收?
官方文档路径:https://wiki.jenkins.io/display/JENKINS/Remote+access+API
提供案例是:
curl -X POST JENKINS_URL/job/JOB_NAME/buildWithParameters \
--user USER:TOKEN \
--data-urlencode json=
'{"parameter": [{"name":"id", "value":"123"}, {"name":"verbosity", "value":"high"}]}'
我在jenkins pipeline job中设置了token=test
curl -X POST JENKINS_URL/job/JOB_NAME/buildWithParameters?token=test \
--data-urlencode json=
'{"parameter": [{"name":"id", "value":"123"}, {"name":"verbosity", "value":"high"}]}'
配置中设置了字符参数id、verbosity。curl命令触发jenkins job执行成功,但是参数获取不到,打印出来是空。
换成
curl -X POST JENKINS_URL/job/JOB_NAME/build?token=test \
--data-urlencode json=
'{"parameter": [{"name":"id", "value":"123"}, {"name":"verbosity", "value":"high"}]}'
触发接收到参数成功。有可能是版本或者其它什么原因吧。