分享背景
工作中由于部署的工程服务比较多,测试环境也比较多,如果想知道哪个测试环境发布了哪些内容,需要从发布列表中一一肉眼查看,十分费眼。
有没有更便捷的方式来获取这些测试环境的发布内容呢?答案:有的。我们可以通过 Python 结合 Jenkins 包模块来自动分析查看指定环境的发布内容。
代码实现
1.获取 Jenkins 操作对象
# -*- coding: utf-8 -*-
import jenkins
joblists=[]
"""
获取jenkins操作对象
"""
def jenkins_get_server():
print("start to get")
jenkins_server_url = "https://jenkins.test.io" #jenkins服务地址
user_id = "tony" #jenkins 登录账号
api_token = "test" #jenkins 登录密码
# 实例化jenkins对象,连接远程的jenkins master server
server = jenkins.Jenkins(jenkins_server_url, username=user_id, password=api_token)
return server
2.获取 Job 信息
"""
获取job的信息
"""
def jenkins_get_jobs():
# String参数化构建job名为job_name的job, 参数param_dict为字典形式,如:param_dict= {"param1":“value1”, “param2”:“value2”}
# server.build_job(job_name, parameters=param_dict)
server = jenkins_get_server()
for j in server.get_all_jobs():
if("op-beta" in j['fullname']):
# print(j)