知道如何查询jenkins以获取运行特定GIT仓库的所有作业的列表吗?或者列出他们正在使用的所有工作和GIT源代码?
谢谢,
答案 0 :(得分:1)
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然后搜索该数据结构的最简单方法。搜索了数百个工作后,它对于我的情况非常有效。
答案 1 :(得分:0)
这是使用python获取特定构建#配置的方法: 导入json import urllib
response = urllib.urlopen(url) data = json.loads(response.read())
打印数据
使用此功能,您可以先找到文件夹/ repo下的所有作业,为每个作业找到最后一份作业,然后找到每个作业的git仓库。