您好我已经写了其中接受“詹金斯作业名称”,并开始通过命令行触发该构建一个shell脚本,在我的詹金斯的服务器我有不同的计数不同的工作和参数的名称。
$build_name= Jenkins_job_name ##(which is the only input)
java -jar jenkins-cli.jar -s http://mydomain:8080/ build $build_name -s -p PARA1=$paravalue
只会工作,如果我给该工作预计参数的准确名称和数量
我想概括这个构建触发脚本,它读取参数的名称为特定的工作,接受它,然后触发构建
注意:当我试着使用不同的参数名称(“KEY1”而不是“PARA1”)上面的脚本,我收到消息,如:
“KEY1”不是一个有效的参数。 你的意思是“PARA1”?
您可以使用get-job $build_name
在CLI落榜配置
该参数是下:
<parameterDefinitions> <name>PARA1</name>
将有多个实例<name>...</name>
另外,您也可以对通话
http://mydomain:8080/job/$build_name/api/json
该参数将在格式:
"parameterDefinitions":[{..., "name":"PARA1", ...}, ...]
将有多个实例{..., "name":"...", ...},
解析文件以获取作业定义的所有参数。 JSON格式是无论是对外壳,因为它是所有在一行。 正则表达式可以检测的开始parameterDefinitions
并得到如下name
值,括号结束前。
文章来源: Shell script to accept “jenkins job name” and triggers that job form commandline(jobs differs in the name and count of parameters)