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的更多相关文章

  1. python操作三大主流数据库(4)python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示

    python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示 参考文档http://flask.pocoo.org/docs/0.11/http://flask ...

  2. python操作三大主流数据库(3)python操作mysql③python操作mysql的orm工具sqlaichemy安装配置和使用

    python操作mysql③python操作mysql的orm工具sqlaichemy安装配置和使用 手册地址: http://docs.sqlalchemy.org/en/rel_1_1/orm/i ...

  3. python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查

    python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...

  4. 转载: pyExcelerator(Python操作Excel内库)API 文档

    1.pyExcelerator 主要通过俩个Object操作Excel: Workbook 和Worksheet2.pyExcelerator 读取Excel文件 parase_xls(filenam ...

  5. Hbase理论&&hbase shell&&python操作hbase&&python通过mapreduce操作hbase

    一.Hbase搭建: 二.理论知识介绍: 1Hbase介绍: Hbase是分布式.面向列的开源数据库(其实准确的说是面向列族).HDFS为Hbase提供可靠的底层数据存储服务,MapReduce为Hb ...

  6. Python接口测试实战3(上)- Python操作数据库

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  7. 文成小盆友python-num11-(2) python操作Memcache Redis

    本部分主要内容: python操作memcache python操作redis 一.python 操作 memcache memcache是一套分布式的高速缓存系统,由LiveJournal的Brad ...

  8. python运维开发(十一)----python操作缓存memcache、redis

    内容目录: 缓存 memcache redis memcache Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数 ...

  9. python 操作 hbase

    python 是万能的,当然也可以通过api去操作big database 的hbase了,python是通过thrift去访问操作hbase 以下是在centos7 上安装操作,前提是hbase已经 ...

  10. Python学习笔记 - day11 - Python操作数据库

    MySQL的事务 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关,MySQL的两种引擎如下: 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID ...

随机推荐

  1. youtube-dll工具使用,很好用!!

    最近喜欢上youtube-dll这个插件,下载东西真的很好用,墙裂推荐,github地址如下 https://github.com/ytdl-org/youtube-dl 安装 1.Linux 1.1 ...

  2. Linux文件服务管理之nfs

    NFS(Network File System)即网络文件系统, 是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源. 在NFS的应用中,本地NFS的客户端应 ...

  3. N种自动化测试框架(包含自动化和性能,总有一款适合你)

    不知不觉,分享的框架已经6个了(准确说应该是4个),仅仅是接口的. 这些框架都是最基础的框架,需要根据实际使用场景进行完善,大家就当练手实践吧. 不需要写代码的自动化框架 JMeter + Ant+ ...

  4. LoadRunner开发http协议接口之form表单脚本

    loadrunner传form表单,用web_submit_data函数. Action() { // lr_start_transaction("hp_homepage"); / ...

  5. 项目1:ATM+购物商城项目

    项目1:ATM+购物商城 1.项目介绍 项目需求: # 项目需求如下:'''- 额度 15000或自定义​- 实现购物商城,买东西加入购物车,调用信用卡接口结账​- 可以提现,手续费5%​- 支持多账 ...

  6. USACO Poker Hands

    洛谷 P3078 [USACO13MAR]扑克牌型Poker Hands 题目传送门 JDOJ 2359: USACO 2013 Mar Silver 1.Poker Hands JDOJ传送门 题目 ...

  7. Margin和padding失效

    太久不写原生果然不行,Margin和padding对div有效,对span失效,原因就不解释了(元素性质,块状之类的)

  8. [RN] React Native Image 实现placeholder占位图

    React Native Image 实现placeholder占位图 react-native Image没有placeholder这样的props,但是业务有需要这种场景, 解决方法为: 使用Im ...

  9. 创维(Skyworth)电视 & 小米盒子3增强版

    创维(Skyworth)电视 型号:43G7200(8H87) 品类:GLED Air TV OS:酷开64位6.20.80601-806061  兼容Android L CPU:四核 Cortex ...

  10. Android Q Beta 6 终极测试版发布!

    前言 当今手机市场可谓是百花齐放,但手机系统却屈指可数,其中Android和iOS就占据了整个手机系统市场的99%,单单Android就占据了整个手机系统市场的86%,可谓是占据绝对优势.     其 ...