网站首页 > 技术文章 正文
模块安装
pip install python-jenkins
使用前准备
首先要获取Jenkins的授权令牌,这样Python才能拿到访问权(自行百度怎么获取)
模块使用方法
1. 初始化Jenkins连接
jk = jenkins.Jenkins(url='Jenkins地址', username='用户名', password='授权令牌')
2. Job基本操作
2.1 创建Job
创建有2种方式,可以创建一个新的,也可以基于已有的Job模板创建
我这里使用Job模板创建
xml = jk.get_job_config('模板job名称') # 获取模板配置文件
jk.create_job(name='新的job名称', config_xml=xml)
2.2 构建Job
构建有2种方式:
普通构建
jk.build_job(name='构建的job名称')
参数化构建
jk.build_job(name='构建的job名称', parameters='构建的参数,字典类型')
2.3 停止一个正在运行的Job
jk.stop_build('job名称', '构建编号ID')
2.4 激活Job状态为可以构建
jk.enable_job('job名称')
2.5 变更Job状态为不可以构建
jk.disable_job('job名称')
2.6 删除Job
jk.delete_job('job名称')
3. 获取Job信息
3.1 获取Job的初始配置参数
就是Job的Build with Parameters内容
result = []
for each in jk.get_job_info('job名称')['property']:
if 'ParametersDefinitionProperty' in each['_class']:
data = each['parameterDefinitions']
for params in data:
temp_dict = dict()
temp_dict['name'] = params['defaultParameterValue']['name']
temp_dict['value'] = params['defaultParameterValue']['value']
temp_dict['description'] = params['description']
result.append(temp_dict)
print(result)
3.2 获取Job任务状态
获取流程:先获取到构建编号,再通过构建编号获取任务状态
这里我们一般是获取最后一次构建的任务状态,所以要先获取到最后一次构建的编号:
last_build_number = jk.get_job_info('job名称')['lastBuild']['number']
通过构建编号获取任务状态:
status = jk.get_build_info('job名称', last_build_number)['result']
print(status) # 状态有4种:SUCCESS|FAILURE|ABORTED|pending
3.3 获取Job控制台日志
通过构建编号获取控制台日志:
result = jk.get_build_console_output(name='job名称', number=last_build_number)
print(result)
3.4 获取Job测试报告
通过构建编号获取测试报告:
result = jk.get_build_test_report(name='job名称', number=last_build_number)
print(result)
猜你喜欢
- 2025-01-21 [819]ScalersTalk成长会Python小组第10周学习训练日志
- 2025-01-21 「python小脚本」监听日志文件异常数据发送告警短信
- 2025-01-21 告别千篇一律,Python打印彩色日志的方法!
- 2025-01-21 用Python写一个MacOS的系统通知
- 2025-01-21 Python 自制日志装饰器
- 2025-01-21 Python如何在日志中隐藏明文密码
- 2025-01-21 Kubernetes日志采集ELK|收集Python项目日志并展示
- 2025-01-21 Python接口自动化核心模块 - 数据库操作和日志
- 2025-01-21 python模块之 loguru 日志模块
- 2025-01-21 小python帮大忙——使用python生成word格式的工作日志
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 90℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)