您好我写了一个shellcript,接受" jenkins的工作名称"并开始通过命令行触发该构建,在我的Jenkins服务器中,我有不同的作业,其数量和参数名称不同。
$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"?
答案 0 :(得分:2)
您可以使用cli上的get-job $build_name
来获取作业配置
参数如下:
<parameterDefinitions>
<name>PARA1</name>
<name>...</name>
或者,您可以拨打电话
http://mydomain:8080/job/$build_name/api/json
参数格式为:
"parameterDefinitions":[{..., "name":"PARA1", ...}, ...]
{..., "name":"...", ...},
解析文件以获取为作业定义的所有参数。 json格式要么是shell,因为它只在一行上。 RegEx可以在括号结束前检测parameterDefinitions
的开头并获取以下name
值。