python操作jenkins、python-jenkins api
Jenkins作为最流行的自动化流程的核心工具,我们使用它自带的web-ui完全可以满足日常的构建及发布工作,但是如果需要和其他系统做集成就必须二次开发或者通过API方式进行交互了。
python版本的API调用
目前python版本的API主要有两个第三方包
1. JenkinsApi
2. Python-Jenkins
这里写下关于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的更多相关文章
- python操作三大主流数据库(4)python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示
python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示 参考文档http://flask.pocoo.org/docs/0.11/http://flask ...
- python操作三大主流数据库(3)python操作mysql③python操作mysql的orm工具sqlaichemy安装配置和使用
python操作mysql③python操作mysql的orm工具sqlaichemy安装配置和使用 手册地址: http://docs.sqlalchemy.org/en/rel_1_1/orm/i ...
- python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查
python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...
- 转载: pyExcelerator(Python操作Excel内库)API 文档
1.pyExcelerator 主要通过俩个Object操作Excel: Workbook 和Worksheet2.pyExcelerator 读取Excel文件 parase_xls(filenam ...
- Hbase理论&&hbase shell&&python操作hbase&&python通过mapreduce操作hbase
一.Hbase搭建: 二.理论知识介绍: 1Hbase介绍: Hbase是分布式.面向列的开源数据库(其实准确的说是面向列族).HDFS为Hbase提供可靠的底层数据存储服务,MapReduce为Hb ...
- Python接口测试实战3(上)- Python操作数据库
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- 文成小盆友python-num11-(2) python操作Memcache Redis
本部分主要内容: python操作memcache python操作redis 一.python 操作 memcache memcache是一套分布式的高速缓存系统,由LiveJournal的Brad ...
- python运维开发(十一)----python操作缓存memcache、redis
内容目录: 缓存 memcache redis memcache Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数 ...
- python 操作 hbase
python 是万能的,当然也可以通过api去操作big database 的hbase了,python是通过thrift去访问操作hbase 以下是在centos7 上安装操作,前提是hbase已经 ...
- Python学习笔记 - day11 - Python操作数据库
MySQL的事务 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关,MySQL的两种引擎如下: 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID ...
随机推荐
- 6 Linux用户和用户组管理
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户都必须首相像系统管理员申请账号,然后以这个账号身份进入系统 每个用户账号都拥有一个唯一的用户名和各自的口令 用户在登陆时键入 ...
- 5.如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍一下么?redis 的哨兵原理能介绍一下么?
作者:中华石杉 面试题 如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍一下么?redis 的哨兵原理能介绍一下么? 面试官心理分析 其实问这个问题,主要是考考你,redis ...
- HTTP Status 406 – Not Acceptable
前端调用这个方法报错: HTTP Status 406 – Not Acceptable Type Status Report Description The target resource does ...
- JS在HTML文档引入位置
我们今天来聊一聊关于JavaScript文件的引入位置的问题:大家在平时的Web开发中有没有想过这样一个问题,那就是我应该在文档的头部(也就是<head>标签内部里面)引入所需要的Java ...
- java.sql.SQLException: Access denied for user 'root'@'10.1.0.2' (using password: YES)
java.sql.SQLException: Access denied for user 'root'@'10.1.0.2' (using password: YES) at com.mysql.c ...
- 201871010126 王亚涛 《面向对象程序设计(java)》 第二周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- JSOI 2015 送礼物
[BZOJ4476] [JSOI2015]送礼物 Description JYY和CX的结婚纪念日即将到来,JYY来到萌萌开的礼品店选购纪念礼物. 萌萌的礼品店很神奇,所有出售的礼物都按照特定的顺序都 ...
- LeetCode 1213. Intersection of Three Sorted Arrays
原题链接在这里:https://leetcode.com/problems/intersection-of-three-sorted-arrays/ 题目: Given three integer a ...
- bzoj2287【POJ Challenge】消失之物 缺一01背包
bzoj2287[POJ Challenge]消失之物 缺一01背包 链接 bzoj 思路 分治solve(l,r,arr)表示缺少物品\([l,r]\)的dp数组arr. 然后solve(l,mid ...
- 洛谷p3916图的遍历题解
题面 思路: 反向建边,dfs艹咋想出来的啊 倒着遍历,如果你现在遍历到的这个点已经被标记了祖先是谁了 那么就continue掉 因为如果被标记了就说明前面已经遍历过了 而我们的顺序倒着来的 前边的一 ...