有没有办法在不传递文件参数的情况下使用jenkins-cli调用jenkins作业?
我有一个jenkins作业接受以下参数(key1,key2,file-parameter) 这是我对该项目的jenins-cli调用。
java -jar jenkins-cli.jar \
-s <url> build <jenkins-project> \
-p key1=value1 -p FILE_PARAMETER=filename
如果我没有传递key2,那么构建会被触发但我想在不传递文件参数的情况下触发构建。
如果我这样做会收到以下错误 - 参数FILE_PARAMETER没有默认值。
答案 0 :(得分:2)
Jenkins公开了其他远程执行协议,例如http和ssh。
给定具有两个参数的作业
STRING_PARAMETER =String param
FILE_PARAMETER =File upload param
这是一个示例用法。
curl -X POST $JENKINS_URL/job/hello/build \
--form file0=@my.txt \
--form json='{"parameter": [{"name":"FILE_PARAMETER", "file":"file0"}, {"name":"STRING_PARAMETER","value":"A_VALUE_WITH_FILE"}]}'
这里只传入了字符串。 (跳过文件参数)
curl -X POST $JENKINS_URL/job/hello/build \
--form file0=@my.txt \
--form json='{"parameter": [ {"name":"STRING_PARAMETER","value":"NO_FILE_USED"}]}'