Jenkins Cli构建项目而不传递文件参数

时间:2017-07-28 08:40:47

标签: jenkins

有没有办法在不传递文件参数的情况下使用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没有默认值。

1 个答案:

答案 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"}]}'