知道如何查询 jenkins 以获取运行特定 GIT 存储库的所有作业的列表吗?或者列出所有作业和他们正在使用的 GIT 源代码?
谢谢,
import re
import jenkins
repo_name = 'my_repo'
found_jobs = []
server = jenkins.Jenkins(<jenkins-ip>, <username>, <password>)
jobs = server.get_all_jobs()
for job in jobs:
data = server.get_job_config(job['name']) . # data is xml
if re.search(r'%s\<\/url\>' %repo_name, data):
found_jobs.append(job['name'])
基本上,我只是在 xml 中查找模式:<url>my-repo-url</url>
然后附加到列表中。对我来说,这是最简单的方法,无需从 xml 转换为 dict 或 json,然后搜索该数据结构。在搜索了数百个工作之后,它对我的情况很有效。
这是使用 python 获得特定构建#配置的方式: import json import urllib
响应 = urllib.urlopen(url) 数据 = json.loads(response.read())
打印数据
有了这个,你可以首先找到文件夹/repo下的所有工作,为每个工作获取最后一个工作,并为每个工作找到git repo。