简介
本次我们将要学习JenkinsAPI接口,我们先用Python-jenkins这个库完成。
仓库Pypi :https://pypi.org/project/python-jenkins/
在线文档: http://python-jenkins.readthedocs.org/en/latest/
当前环境Python版本 v3.7.0
功能
Create new jobs 创建新项目
Copy existing jobs 复制已存在的项目
Delete jobs 删除项目
Update jobs 更新项目
Get a job’s build information 获取一个项目的构建信息
Get Jenkins master version information 获取Jenkins master的版本信息
Get Jenkins plugin information 过去jenkins插件信息
Start a build on a job 构建一个项目
Create nodes 创建一个节点
Enable/Disable nodes 启用/禁用节点
Get information on nodes 获取节点信息
Create/delete/reconfig views 创建/删除/更新视图
Put server in shutdown mode (quiet down) 关机
List running builds 列出构建中的项目
Delete builds 删除构建
Wipeout job workspace
Create/delete/update folders 创建/删除/更新文件夹
Set the next build number 设置下次构建ID
Install plugins 安装插件
使用思路
例如我要创建一个项目
要先找到创建项目的方法
然后根据API文档查阅如何使用 每个接口的使用方法
打开一个python解释器调试
初始化配置
安装python-jenkins
pip install python-jenkins==1.6.0
测试
ZeyangdeMacBook-Pro:~ zeyang$ python3
Python 3.7.4 (v3.7.4:e09359112e, Jul 8 2019, 14:54:52)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import jenkins
>>> server = jenkins.Jenkins("http://127.0.0.1:8080",username="admin",password="admin")
>>> server.get_whoami()
{'_class': 'hudson.model.User', 'absoluteUrl': 'http://127.0.0.1:8080/user/admin', 'description': '', 'fullName': 'admin', 'id': 'admin', 'property': [{'_class': 'jenkins.security.ApiTokenProperty'}, {'_class': 'jenkins.security.LastGrantedAuthoritiesProperty'}, {'_class': 'hudson.model.MyViewsProperty'}, {'_class': 'hudson.model.PaneStatusProperties'}, {'_class': 'hudson.security.HudsonPrivateSecurityRealm$Details'}, {'_class': 'org.jenkinsci.main.modules.cli.auth.ssh.UserPropertyImpl'}, {'_class': 'jenkins.security.seed.UserSeedProperty'}, {'_class': 'hudson.search.UserSearchProperty', 'insensitiveSearch': True}, {'_class': 'huds