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

标签 python json jenkins querying jenkins-api

我们有一个使用特定参数运行构建的 Jenkins 作业。 其中两个参数对我很重要:部署构建的机器,以及部署的包的版本号。

https://jenkinsurl/job/folder_level1/job/folder_level2/job/folder_level3/job_id/

这是 url 的 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 获取版本,我将如何搜索作业?

最佳答案

使用/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

引用资料

关于python - 如何使用 Python Jenkins API 在 Jenkins 中查找和查询特定构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38534171/

相关文章:

java - 使用java解析json

javascript - 安全问题,当 json 元素包含 html 时?

android - 避免产品 flavor 影响 Android Studio 中的构建时间

json - 使用 JSON API 表示无资源的聚合数据

jenkins - 如何使用 Pipeline 引用 Jenkinsfile 目录?

maven - "Build step ' 调用顶级 Maven 目标 ' marked build as failure"错误

python - 如何将 Microsoft Azure 中的 pip 从 1.5.6 升级到 9.0.1?

python - 如何在 linux 的 python 控制台程序中真正绑定(bind) key ?

python - gi.repository Windows

python - 如何在 OpenCV 中提取具有特定颜色的图像片段?