python操作jenkins、python-jenkins api

python

Jenkins作为最流行的自动化流程的核心工具,我们使用它自带的web-ui完全可以满足日常的构建及发布工作,但是如果需要和其他系统做集成就必须二次开发或者通过API方式进行交互了。

Jenkins介绍及相关

python版本的API调用

目前python版本的API主要有两个第三方包

1. JenkinsApi

github地址
官方文档

2. Python-Jenkins

github地址
官方文档

这里写下关于python-jenkins的一些api
3. python-jenkins API示例

from jenkins import Jenkins

# 创建 Jenkins实例的 handle

jen = Jenkins(url="http://xxxxx.com", username="root", password="password")

job_name = "jenkins_test"

# 返回job的个数

jen.jobs_count()

# 返回所有的job,列表格式

jen.get_jobs()

jen.get_all_jobs()

# 返回job信息,字典格式

jen.get_job_info(name=job_name)

# 返回名字匹配的job的信息,列表格式

pattern = "^jen"

jen.get_job_info_regex(pattern=pattern)

# 返回job信息,易阅读的格式

jen.debug_job_info(job_name=job_name)

# 返回 HTTP 响应体 ,字符串形式

url = "http://148.70.212.152:9090/job/2048test/"

jen.jenkins_open(req=url)

# 返回第n次构建信息,字典格式

n = 1

jen.get_build_info(name=job_name, number=n)

# 返回第n次构建环境变量

jen.get_build_env_vars(name=job_name, number=n)

# 返回第n次测试报告

jen.get_build_test_report(name=job_name, number=n)

# 返回所以job信息字典,字典格式

jen.get_queue_info()

# 取消队列中的某个构建

jen.cancel_queue(id=n)

# 返回当前用户账号信息, 字典格式

jen.get_whoami()

# 返回版本信息, 字符串格式

jen.get_version()

# 返回所有已安装的插件信息,列表格式

jen.get_plugins()

# 返回某个插件的信息,字典格式

jen.get_plugin_info(name="插件名字")

# 复制一个jenkins任务

new_name = "new_job"

jen.copy_job(from_name=job_name, to_name=new_name)

# 重命名一个job

jen.rename_job(from_name=job_name, to_name=new_name)

# 删除一个job

jen.delete_job(name=job_name)

# 启用一个job

jen.enable_job(name=job_name)

# 禁止一个job

jen.disable_job(name=job_name)

# 设置下次构建的序号

jen.set_next_build_number(name=job_name, number=n)

# 判断job是否存在

jen.job_exists(name=job_name)

# 创建一个job

jen.create_job(name=job_name, config_xml="配置信息xml字符串格式")

# 获取job的配置

jen.get_job_config(name=job_name)

# 重新配置Job

jen.reconfig_job(name=job_name, config_xml="配置信息xml字符串格式")

# 出发构建job

parameters = "参数,默认为None"

jen.build_job(name=job_name, parameters=None)

# 安装插件

jen.install_plugin(name="插件名字")

# 停止正在运行的jenkins构建

jen.stop_build(name=job_name, number=n)

# 删除构建

jen.delete_build(name=job_name, number=n)

# 获取正在运行的构建

jen.get_running_builds()

其他关于node,view的方法请见官网:https://python-jenkins.readthedocs.io/en/latest/api.html

以上是 python操作jenkins、python-jenkins api 的全部内容, 来源链接: utcz.com/z/388431.html

回到顶部