我们有一个使用特定参数运行构建的Jenkins作业。 其中两个参数对我很重要:部署构建的机器,以及部署的软件包的版本号。
https://jenkinsurl/job/folder_level1/job/folder_level2/job/folder_level3/job_id/
以下是网址的json输出示例:
https://jenkinsurl/job/folder_level1/job/folder_level2/job/folder_level3/job_id/api/json
{"actions":[{"parameters":[{"name":"lab_name","value":"labA"},{"name":"version_no","value":"1.1"}]}
使用Jenkins REST API或Python Jenkins包装器,如果我知道folder_level1并希望将实验室名称与folder_level3中的作业匹配以最终从该URL获取版本,我将如何搜索作业?
答案 0 :(得分:5)
使用/ api / xml格式:
https://jenkinsurl/job/folder_level1/api/xml
返回可通过XPath查询的action
XML节点:
从那里获取匹配的名称以搜索有问题的数据:
为每个使用XPath,以及用于分组的包装节点,例如对于builtOn的以下内容:
https://jenkinsurl/job/folder_level1/api/xml?depth=3&xpath=//fullDisplayName[contains(text(),'foo')]/following-sibling::builtOn&wrapper=builtOn_results
和另一个版本:
https://jenkinsurl/job/folder_level1/api/xml?depth=3&xpath=//fullDisplayName[contains(text(),'foo')]/following-sibling::number&wrapper=version_results
<强>参考强>