文档章节

python操作jenkins、python-jenkins api

o
 osc_tehy8vur
发布于 2019/08/05 09:38
字数 590
阅读 27
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

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

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Netty那点事(三)Channel与Pipeline

Channel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Channel部分中Pipeline实现机制。为了避免枯燥,借用一下《盗梦空间》的...

黄亿华
2013/11/24
2W
22
beego API开发以及自动化文档

beego API开发以及自动化文档 beego1.3版本已经在上个星期发布了,但是还是有很多人不了解如何来进行开发,也是在一步一步的测试中开发,期间QQ群里面很多人都问我如何开发,我的业余时间实在...

astaxie
2014/06/25
2.7W
22
漏洞检测工具--Peach Fuzzer

Peach是一种用Python编写的 Fuzzer。这种工具有助于发现并公开许多漏洞,并认为是黑客和安全团体中最流行的工具之一。为了利用Peach框架,必须创建Phthon脚本,脚本 中包含了在服务器上执行的...

匿名
2013/02/06
8.9K
1
WSGI Web服务器--UV-Web

uv-web是一个轻量级的支持高并发的WSGI Web服务器,基于libuv构建,部分代码源于开源项目bjoern,本质是python的C扩展,所以适用于部署绝大部分 python web应用(如 Django) 特性 兼容 HTTP 1...

Jone.x
2013/03/04
1.8K
0
WebUI自动化测试框架--Dagger

Dagger是网易杭州研究院QA团队开发的一个轻量级、运行稳定的WebUI自动化测试框架,主要基于Selenium及TestNg可以认为是对Selenium进行二次封装的一个框架(俗称 造轮子 )。之所以把这个轮子...

ChenKan
2013/03/05
2.8W
6

没有更多内容

加载失败,请刷新页面

加载更多

一年Node.js开发开发经验总结

写在前面 不知不觉的,写Node.js已经一年了。不同于最开始的demo、本地工具等,这一年里,都是用Node.js写的线上业务。从一开始的Node.js同构直出,到最近的Node接入层,也算是对Node开发入门...

osc_2fb62vw0
13分钟前
0
0
详解斜率优化

详解斜率优化 斜率优化的话前几个月学过一次,然后感觉会了,结果今天遇到个题,比赛时花了1h硬敲没怼出来,然后又去看了看人家的讲解,加上自己疯狂yy,才发现(原来很水嘛)上次只是略懂皮...

osc_eumlh0pn
14分钟前
0
0
pytest文档46-关于https请求警告问题(InsecureRequestWarning: Unverified HTTPS request is being made)

前言 使用 pytest 执行 https 请求用例的时候,控制台会出现警告:InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised......

osc_8s3utzxr
16分钟前
8
0
进程间通信和线程间通信的几种方式

进程间通信和线程间通信的几种方式 进程、线程、协程之概念理解 进程和线程、协程的区别 进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的...

osc_we9lokaj
16分钟前
0
0
给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如"Aa"不能当做一个回文字符串。注 意:假设字符串的长度不会超过 1010。

给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如"Aa"不能当做一个回文字符串。注 意:假设字符串的长度不会超过 1010...

osc_kedi1mvz
17分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部