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

Jenkins介绍及相关

python版本的API调用

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

1. JenkinsApi

github地址

官方文档

2. Python-Jenkins

github地址

官方文档

这里写下关于python-jenkins的一些api

3. python-jenkins API示例

  1. from jenkins import Jenkins
  2. # 创建 Jenkins实例的 handle
  3. jen = Jenkins(url="http://xxxxx.com", username="root", password="password")
  4. job_name = "jenkins_test"
  5. # 返回job的个数
  6. jen.jobs_count()
  7. # 返回所有的job,列表格式
  8. jen.get_jobs()
  9. jen.get_all_jobs()
  10. # 返回job信息,字典格式
  11. jen.get_job_info(name=job_name)
  12. # 返回名字匹配的job的信息,列表格式
  13. pattern = "^jen"
  14. jen.get_job_info_regex(pattern=pattern)
  15. # 返回job信息,易阅读的格式
  16. jen.debug_job_info(job_name=job_name)
  17. # 返回 HTTP 响应体 ,字符串形式
  18. url = "http://148.70.212.152:9090/job/2048test/"
  19. jen.jenkins_open(req=url)
  20. # 返回第n次构建信息,字典格式
  21. n = 1
  22. jen.get_build_info(name=job_name, number=n)
  23. # 返回第n次构建环境变量
  24. jen.get_build_env_vars(name=job_name, number=n)
  25. # 返回第n次测试报告
  26. jen.get_build_test_report(name=job_name, number=n)
  27. # 返回所以job信息字典,字典格式
  28. jen.get_queue_info()
  29. # 取消队列中的某个构建
  30. jen.cancel_queue(id=n)
  31. # 返回当前用户账号信息, 字典格式
  32. jen.get_whoami()
  33. # 返回版本信息, 字符串格式
  34. jen.get_version()
  35. # 返回所有已安装的插件信息,列表格式
  36. jen.get_plugins()
  37. # 返回某个插件的信息,字典格式
  38. jen.get_plugin_info(name="插件名字")
  39. # 复制一个jenkins任务
  40. new_name = "new_job"
  41. jen.copy_job(from_name=job_name, to_name=new_name)
  42. # 重命名一个job
  43. jen.rename_job(from_name=job_name, to_name=new_name)
  44. # 删除一个job
  45. jen.delete_job(name=job_name)
  46. # 启用一个job
  47. jen.enable_job(name=job_name)
  48. # 禁止一个job
  49. jen.disable_job(name=job_name)
  50. # 设置下次构建的序号
  51. jen.set_next_build_number(name=job_name, number=n)
  52. # 判断job是否存在
  53. jen.job_exists(name=job_name)
  54. # 创建一个job
  55. jen.create_job(name=job_name, config_xml="配置信息xml字符串格式")
  56. # 获取job的配置
  57. jen.get_job_config(name=job_name)
  58. # 重新配置Job
  59. jen.reconfig_job(name=job_name, config_xml="配置信息xml字符串格式")
  60. # 出发构建job
  61. parameters = "参数,默认为None"
  62. jen.build_job(name=job_name, parameters=None)
  63. # 安装插件
  64. jen.install_plugin(name="插件名字")
  65. # 停止正在运行的jenkins构建
  66. jen.stop_build(name=job_name, number=n)
  67. # 删除构建
  68. jen.delete_build(name=job_name, number=n)
  69. # 获取正在运行的构建
  70. 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. jvm运行时数据区之程序计数器

    什么是程序计数器? 程序计数器是一块 较小 的内存空间,它可以看做是当前线程所执行的字节码的 行号指示器 :在虚拟机的概念模型里(仅仅是概念模型,各种虚拟机可能会通过一些更高效的方式去实现),字节码解 ...

  2. django_restframework项目之python虚拟环境配置(一)

    虚拟环境的搭建 优点 1.使不同应用开发环境相互独立 2.环境升级不影响其他应用,也不会影响全局的python环境 3.防止出现包管理混乱及包版本冲突 windows 安装 # 建议使用pip3安装到 ...

  3. ubuntu18 安装坑点记录(华硕飞行堡垒)

    环境 电脑:华硕飞行堡垒FX53VD 显卡:集成显卡+NVIDIA显卡(linux版本很不友好) 镜像:ubuntu18.04.3 LTS 准备安装 * 制作启动盘(百度) * 设置U盘启动项:按F2 ...

  4. mysql数据库之事务和隔离级别

    事务和并发执行目的: 1.提高吞吐量,资源利用率 2.减少等待时间 连接管理器:接受请求/创建线程/认证用户/建立安全连接 并发控制:任何时候,只要有两个以上的用户试图读写同时一个文件/数据,都会带来 ...

  5. 使用Nginx对Websocket进行反向代理

    一. Nginx配置示例 http { map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { li ...

  6. Mac下搭建Appnium+Python+Ios模拟器环境

    转载:https://www.jianshu.com/p/f7cf077d9444 https://blog.csdn.net/a158123/article/details/79684499 htt ...

  7. nginx 重定向 rewrite 规则

    1.rewrite配置 server { listen 80 default_server; server_name jeson.t.imooc.io; access_log /var/log/ngi ...

  8. python的continue和pass的区别

    a = 'pythyon' i = 2 for element in a: if element == 'y': pass i = 3 else: print(element+str(i)) 结果: ...

  9. (HK1-0)激活与配置摄像机

    HK使用手册 网络连接 激活与配置摄像机 网络摄像机可通过 SADP 软件.客户端软件和浏览器三种方式激活, 具体激活操作方式可参见<网络摄像机操作手册>. 1. 安装随机光盘或从官网下载 ...

  10. (9-4 )deepsort在ubuntu1604下配置

    Deep Sort with PyTorch YOLO https://github.com/ZQPei/deep_sort_pytorch 查看python版本 python3 --version ...