如何使用Python Jenkins API在Jenkins中查找和查询特定的构建

时间:2016-07-22 19:41:50

标签: python json jenkins querying jenkins-api

我们有一个使用特定参数运行构建的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获取版本,我将如何搜索作业?

1 个答案:

答案 0 :(得分:5)

使用/ api / xml格式:

https://jenkinsurl/job/folder_level1/api/xml

返回可通过XPath查询的action XML节点:

从那里获取匹配的名称以搜索有问题的数据:

  • builtOn - 在
  • 上部署构建的机器
  • number - 部署的软件包的版本号

为每个使用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

<强>参考