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. vscode vue 去掉语法提示

    在vscode中,点击file->preferences->settings, 然后输入vetur, 滚到最下面,那个勾去掉,然后关闭,重启vscode就可以了

  2. es更新说明(dsl)

    一.旧版elasticsearch-dsl 很多同学在python搜索引擎视频中关于看到的第十章elasticsearch使用中使用python创建mapping老师使用的以下代码,这些代码对于ela ...

  3. Python从零开始——安装与运行

  4. 综合架构之Rsync备份服务,服务端和客户端配置

    服务端配置(即备份服务器) ps:客户端配置见下方 配置一个新服务的步骤: 第一步:先将该服务下载 yum install -y rsync 第二步:编写服务配置文件 配置文件:/etc/rsyncd ...

  5. linux增加swap空间的方法小结

    起因及背景 近期编译AOSP(android 10.0)是总是遇到内存溢出,查了半天,无果.猜测增加下swap空间大小是否能解决,随即尝试下,果然是如此. 当然,还有其他作法,比如直接增加主机的内存( ...

  6. 第二阶段冲刺(个人)——two

    今天的计划: 测试登录功能并优化. 昨天做了什么呢?  修改登录界面. 遇到的困难:一些标签运用不好,过程进度慢,改了又改.

  7. ToDoList--HttpMediaTypeNotSupportedException

    org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-url ...

  8. Browser cannot find PAC because wpad hostname cannot be resolved

    Enterprise Network administrator may faultly forget to configure wpad hostname to DNS server. If use ...

  9. CanvasRenderingContext2D.drawImage()无效,not working

    我的技术框架:react,如若不采用堵塞方式,即, const myimg = await loadImage(icon28) ctx.drawImage(myimg,0,0, 100, 100)   ...

  10. Pandas | GroupBy 分组

    任何分组(groupby)操作都涉及原始对象的以下操作之一: 分割对象 应用一个函数 结合的结果 在许多情况下,我们将数据分成多个集合,并在每个子集上应用一些函数.在应用函数中,可以执行以下操作: 聚 ...