shell脚本接受“詹金斯作业名称”,并触发该作业形式的命令行(工种不同的名称和参数计数)(Shel

2019-10-19 18:03发布

您好我已经写了其中接受“詹金斯作业名称”,并开始通过命令行触发该构建一个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”?

Answer 1:

您可以使用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)
标签: shell jenkins