Python远程访问jenkins API

Jenkins具有远程访问API的功能,可以支持python\Ruby\Java等,本文着重介绍python的方式,其他方式请移步https://wiki.jenkins.io/display/JENKINS/Remote+access+API

目前开发的python库有两个,JenkinsAPIPython-Jenkins,这两个库的功能都差不多,本文将介绍前者的使用。

1 开通jenkins高级权限的帐号

要使用remote API功能,第一步必须先在jenkins注册帐号密码,并且具有对应的权限。假设注册的高级用户名为admin,密码为test1234

2 关闭防止跨站点请求伪造

重要:jenkins服务器默认是开启防止跨站点请求伪造的,因此需要先将其关闭,否则会出现403错误反馈码或则类似以下信息的反馈

HTTP ERROR 403
No valid crumb was included in the request

关闭的方法:
jenkins主界面 — 系统管理 — 全局安全配置 — 跨站请求伪造保护 下
勾掉“防止跨站点请求伪造”
应用并保存

《Python远程访问jenkins API》 image.png

3 安装jenkinsapi

使用pip安装

pip install jenkinsapi

4 使用jenkinsapi

连接jenkins

username = 'admin'
password = 'test1234'
jenkins = Jenkins('http://localhost:8888', username=username, password=password)

获取当前的job列表

jenkins.keys()

获取某个job的构建情况

job=jenkins.get_job(jobName)
build=job.get_last_completed_build()
#构建号
print(build.buildno)
# url
print(buil.baseurl)
# 构建结果
data=build.__dict__['_data']
result=data['result']
#构建时长
duration=data['duration']
...


获取job的配置

config =jenkins[jobName].get_config()

job构建

jenkins.build_job(jobName, params)
    原文作者:一叶一声秋
    原文地址: https://www.jianshu.com/p/e71d42e37e49
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞