Python Jenkins Guide: https://python-jenkins.readthedocs.io/en/latest/index.html
Python-jenkins: https://pypi.org/project/python-jenkins/
安装: pip install python-jenkins

API 介绍

  • 连接Jenkins服务器

server = jenkins.Jenkins(url, username=None, password=None, timeout=30)

url : 指的是所连接的Jenkins的网络地址
username/password : username/password 默认值是None, 在内网中不传参数也是可以连接成功的,但应该只有读的权限,没有操作权限。所以一般需要用户名和密码。

  • 账户信息

server.get_whoami()

获取连接账户的相关信息, 有关私密信息就不打印出来了

server.get_version()
'2.176.3'

获取连接Jenkins的版本信息

  • 获取job相关信息
    所谓job的话,指的是在Jenkins里面创建的一系列项目
# 获取所有的job信息
server.get_jobs()# 获取job为name的基本信息
server.get_job_info(name)#获取job名为name的job的最后次构建号, 不会计算排队中的构建,
#例如正在构建的number是3, 在排队的有4和5, 那么最后次构建号是3
server.get_job_info(name)['lastBuild']['number']# 正则匹配到相应job的基本信息
server.get_job_info_regex(pattern)#判断job是否存在
server.job_exists(name)#获取所有job的数量
server.jobs_count()
  • 获取build相关信息
    所谓build的话,指的是在Job里面的一次构建
# 获取某次构建信息,举例178, 如果178不存在或者正在排队中, 则会抛出异常
# JenkinsException: job[name] number[178] does not exist
server.get_build_info(name, 178)# result指构建运行的状态, 构建如果是运行完成返回结果FAILURE/ABORTED/SUCCESS/UNSTABLE等
# 构建如果是正在运行返回结果 None
server.get_build_info(name, 178)['result']
  • 操作
    需要明确该账户在Jenkins中有对应的操作权限,否则在脚本中是无法做相应操作的
# 获取所有排队的build
server.get_queue_info()# 获取所有正在运行的build
server.get_running_builds()

server.stop_build(name, number) # 停止正在运行的构建

  1. 停止掉queue排队中的构建, 直接抛出异常NotFoundException: Requested item could not be found
  2. 停止掉running运行中的构建, 无返回值, 无报错,在Jenkins页面上显示该构建被XXX 账户停掉了
  3. 停止掉stopped已经停止的构建, 无返回值, 无报错,Jenkins页面无变化

server.cancel_queue(id) # 配合server.get_queue_info()使用,得到排队构建的id, 可以取消该构建

  1. server.get_queue_info() 获取某个排队构建的id, 如123.
  2. 如果该构建排队中直接server.cancel_queue(123), 无返回值, 无报错,Jenkins页面上排队的构建直接被撤销,看不出原来有这么一个排队的构建
  3. 如果等排队的构建到运行状态, 使用server.cancel_queue(123), 无返回值, 无报错, 该构建依旧在运行中
  4. 如果等排队的构建到完成状态, 使用server.cancel_queue(123), 无返回值, 无报错, 该构建依旧为完成结束状态

python jenkins库 api简介相关推荐

  1. Raphael Js矢量库API简介:

    Raphael Js矢量库API简介: Raphael Javascript 是一个 Javascript的矢量库. 2010年6月15日,著名的JavaScript库ExtJS与触摸屏代码库项目jQ ...

  2. [Python] numpy库的简介和常用函数

    参考博客之一Python之Numpy详细教程 其中简介和对象出自该博客. 该博客中介绍的函数,本人并未采用,因为有些确实不太常用. 常用的函数我放在下面单独开了一章. numpy简介 numpy 是一 ...

  3. 【深度好文】python加速库cython简介

    1. Cython是什么? Cython是让Python脚本支持C语言扩展的编译器,Cython能够将Python+C混合编码的.pyx脚本转换为C代码,主要用于优化Python脚本性能或Python ...

  4. python 拼音库 pypinyin 简介

    目录 安装 基本拼音 风格转换 严格模式 自定义拼音 python 中提供了汉字转拼音的库,名字叫做 PyPinyin,可以用于汉字注音.排序.检索等等场合,是基于 hotto/pinyin 这个库开 ...

  5. 【深度好文】Python加速库Numba简介

    1. Numba是什么? Numba是一款可以将python函数编译为机器代码的JIT编译器,经过Numba编译的python代码(仅限数组运算),其运行速度可以接近C或FORTRAN语言.普通pyt ...

  6. Python BeautifulSoup库 API

    查找标签 BeautifulSoup类继承了Tag类,然后Tag继承了PageElement(object)类 Tag类 class Tag(PageElement) Tag类主要是对标签的管理 实例 ...

  7. Python Series库Api整理

    Series对比numpy,它更像是字典属性的数据结构,每一行都有各自的key. Series快速初始化 import pandas as pd#创建4行的Series,每一行是一个数字,默认索引是0 ...

  8. Python图像处理库PIL -- 学习资源

    Resources 官方指南PIL Handbook(建议看英文,翻译) pil下载 安装中文指南 from the PythonWare PIL home page 推荐先看Python Imagi ...

  9. python 标准库 书籍_《Python标准库》Python语言的权威之作

    <Python标准库>由资深python专家亲自执笔,python语言的核心开发人员作序推荐,是Python的权威之作,书中对一百多个模块进行了生动的讲解.<Python标准库> ...

最新文章

  1. c语言基础知识pdf下载,C语言主基础知识.pdf
  2. 使用页面元素属性做状态判断的隐患
  3. Printed Exception strings - what do all those flags mean?(转)
  4. OpenWRT(基于LEDE17.01.4)Open***的Client与Server端内网互通
  5. qt tcp通信_Qt之网络编程TCP通信
  6. python计算长方体体积最简单代码_python处理DICOM并计算三维模型体积
  7. 基础学习 Linux命令
  8. oracle 10g安装企业版,企业版Oracle10g的安装-过程
  9. spring配置数据源错误记录
  10. css3模拟jq点击事件
  11. Cesium:本地node运行cesium报错Must use import to load ES Module
  12. paip.中文 分词 ---paoding 3.1 的使用
  13. 阿里云云计算 22 VPC连接
  14. 复活唐音,是一味怎样的菜?
  15. GUI提示功控件,LVGL『Label标签控件』介绍
  16. linux 删除保存wifi密码,怎样删除保存的无线上网WiFi密码
  17. Anaconda及pytorch详细安装及使用教程
  18. 股票代码与上市公司板块分类
  19. ie8下实现预览pdf
  20. push代码到git上报错failed to push some refs to ‘远程仓库地址‘问题

热门文章

  1. PostgreSql安装(win 2003 下)
  2. 边缘计算 — 与车联网
  3. 云网融合 — 应用场景
  4. Java 内存模型与线程
  5. Maven整合SSM框架(maven+spring+springmvc+mybatis)
  6. Oracle的逻辑结构(表空间、段、区间、块)——Oracle数据块(一)
  7. 简约设计中的规律—色彩(二)
  8. iOS实现传递不定长的多个参数
  9. android什么时候会产生ANR
  10. mysql集群的配置