python jenkins使用方法/使用笔记

news2024/11/18 6:04:40
笔者也经常在网上查询信息,但发现很多信息都是照搬,内容甚至有错误,可用性很低.笔者就认为如果要分享就应该把遇到的问题真实的分享出来,让更多同路人少走弯路.节约时间.
觉得这篇文章有帮助的同学可以点个赞!将真有用的信息传递给更多人!

常用的方法

安装 jenkins 依赖

pip install python-jenkins

连接 jenkins

    url = 'http://192.168.10.160:8008/jenkins'
    username = 'test'
    password = 'test'
    # 登录jenkins
    server = jenkins.Jenkins(url, username=username, password=password)

获取下次构建的编号

job_name = 'py接☐自动化'
server.get_job_info(job_name)['nextBuildNumber']

开始构建

先找到参数(在指定页面的网址后面输入/api/json)

当然你也可以抓包

job_name = 'py接☐自动化'
parameters = {'gitPull':True}  # 直接写键值对
build_number = server.build_job(name=job_name, parameters=parameters)

获取构建任务的信息

build_info = server.get_build_info(job_name, build_number)

打印后你将获得巨量的信息

获取当前正在构建的任务编号

build_number = server.get_job_info(build_name)['lastBuild']['number']

获取构建状态

你可以通过轮询来确定对应编号的构建任务是否完成构建

build_status = server.get_build_info(job_name, build_number)['result']

获取构建任务的日志/控制台内容

build_number = 11008
server.get_build_console_output(job_name, build_number )

获取当前任务是否存在排队的构建任务

server.get_queue_info()

设置构建任务的描述/编辑编译信息

自行参考/魔改

def set_build_description(jenkins_server: jenkins.Jenkins, job_name, build_number, data: dict = None,
                          description=None):
    """
    :param jenkins_server: jenkins对象(已登录)
    :param job_name: 任务名称
    :param build_number: 任务编号
    :param data: 参数
    :param description: 描述
    :return:
    """
    # build_number = '282'
    # job_name = 'UI-Test'
    # url = 'http://192.168.252.122:8080/jenkins/job/jobname/5/configSubmit'
    url = f'{jenkins_server.server}job/{job_name}/{build_number}/configSubmit'
    my_logger.info(f'设置构建描述为:{description}')
    if data is not None:
        req_json = data
    else:
        data_str = {"displayName": "", "description": f"{description}"}
        req_json = {'json': f'{data_str}'}
    jenkins_server.jenkins_request(requests.Request(url=url, data=req_json, method='POST'))

拼接 jenkins 的构建任务网址

    def get_build_number_console_link(next_build_number):
        """

        :param next_build_number:  构建编号
        :return: 对应构建编号的任务详情界面,例如:http://192.168.252.110:8080/jenkins/job/UI-Test/1492
        """
        # 这里你不要无脑复制运行,自己参考示例魔改,每个人的jenkins的网址不同
        next_build_number_link = f'http://192.168.252.160:8011/jenkins' \
                                 f'/job/UI-Test' \
                                 f'/{next_build_number}'
        return next_build_number_link

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/184122.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python+django校园失物招领系统_13i29.

用户注册:用户填写用户名、密码、年级、姓名、电话号码、邮箱 ,然后点击注册按钮进行注册。 用户登录:用户填写已经注册的用户名和密码并输入验证码,点击登录按钮进行登录。 搜索:用户可以在搜索栏输入关键字进行检索&…

京阳科技拟在上交所上市:计划募资12亿元,业绩波动较大

近日,山东京阳科技股份有限公司(下称“京阳科技”)预披露招股书,准备在上海证券交易所主板上市。本次冲刺上市,京阳科技计划募资12亿元,用于10万吨/年新能源锂电池材料前驱体项目。 据招股书介绍&#xff0…

【刷题】珠玑妙算

至此,我终于明白了哈希表真正的妙用。 目录 文章目录 前言 一、珠玑妙算 二、具体实现 1.哈希表的构建 2.总结规律 1)给出两个字符串:"YBBY","GYYB",构建哈希表:(少猜了一个…

ch2 计算机的发展史

1. 计算机的发展史 人类活动的需求, 推动因素: 电子技术的发展计算机体系结构技术的发展 1. 1 计算机的体系结构 冯诺依曼 体系结构的计算机; 以运算器为核心的 冯诺依曼结构; IBM 360 : 提出计算机系统结构的概念…

DeepTime:时间序列预测中的元学习模型

DeepTime,是一个结合使用元学习的深度时间指数模型。通过使用元学习公式来预测未来,以应对时间序列中的常见问题(协变量偏移和条件分布偏移——非平稳)。该模型是时间序列预测的元学习公式协同作用的一个很好的例子。 DeepTime架…

Win系统速览桌面功能失效 - 解决方案

Win系统速览桌面功能失效 - 解决方案问题解决方案步骤1:确保显卡驱动正常运行步骤2:检查任务栏设置步骤3:调整视觉效果问题 Win10系统支持用户鼠标悬停在任务栏右下角时速览桌面。但可能会因驱动和视觉效果设置等原因导致此功能失效。甚至任…

Linux基础IO+文件fd

1:文件理解文件内容属性,因此空文件在磁盘上也占用空间。文件用路径名文件名作为标识文件的唯一性。对文件的操作,就是对文件的内容属性的操作。在linux中,如果没有指定文件路径,默认在当前路径下执行操作。总结&#…

react配置环境变量

前端项目开发一般会区分三个环境: 本地环境(及开发环境)— development,测试环境 — test,生产环境 — production。 本地环境就是自己开发调试用的,一般是node起一个本地的服务,用webpack做接…

使用Python实现高效摸鱼,批量识别银行卡号码并且自动写入Excel表格

每当有新员工入职,人事小姐姐都要收集大量的工资卡信息,并且生成Excel文档,看到小姐姐这么辛苦,我就忍不住要去帮她了… 于是我用1行代码就实现了自动识别银行卡信息并且自动生成Excel文件,小姐姐当场就亮眼汪汪的看着…

如何制定一个好计划?运用SMART原则

很多人面对目标总是给自己找各种借口,为自己找理由,如没时间、做不到、没人脉、在潜意识里告诉自己还没准备好。人的天性就是逃避困难、贪图享乐,而保证执行力就是跟惰性抗争的过程。 这个世界没有好做不好的工作,只有&#xff0c…

Java Springboot+VUE前后端分离网上手机商城平台系统设计和实现以及论文报告

Java SpringbootVUE前后端分离网上手机商城平台系统设计和实现以及论文报告 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收…

闭区间连续函数的性质+习题课(函数与极限总复习)——“高等数学”

各位CSDN的uu们你们好呀,今天我们的内容依然是关于连续函数的概念和性质及相关内容,之前的博客我们学习到了函数的连续性和函数的间断点,那今天,我们便来看看闭区间上连续函数的性质,好的,接下来就让我们进…

Webpack麻烦你不要靠的那么近,我怕Vite误会

某天,实施人员,让我修复了一个小问题,并需要快速的发布到正式环境上,我三下五除二修改了问题;开始了打包发布,以前并没有怎么注意到启动的问题,然而这次比较急,想在用户看到之前发布…

Java之初入JDBC-连接数据库

之前我们学完了Mysql 现在我们要学习怎么用JAVA来操作Mysql数据库(JDBC不止能操作Mysql还能操作如Redis等数据库) 概述 JDBC原理图 大致我们java语言开发者,指定一个接口 这个接口-包含了对数据库基本操作 然后不同数据库的开发厂商&#x…

HTML中引入CSS样式的第二种方式:样式块

<!-- 第二种方式&#xff1a;在head标签中使用style块&#xff0c;这种方式被称为样式块方式。 语法格式&#xff1a; <head> <style type"text/css"> 选择器 { …

Ragnar-lothbrok靶机总结

Ragnar-lothbrok靶机渗透总结 靶机下载地址: https://download.vulnhub.com/ragnarlothbrok/Ragnar-lothbrok.ova 打开靶机,使用nmap扫描出靶机的ip和所有开放的端口 可以看到靶机开放了21端口,80端口,443端口,3306端口 一般开放21端口,我们可以先尝试ftp的匿名登录 可以看到…

MySQL详解(一)——基础 1.0

MySQL基础 1. 数据库概述 1.1 什么是数据库 数据库是持久化数据的一种介质&#xff0c;可以理解成用来存储和管理数据的仓库&#xff01; 持久化(persistence)&#xff1a;把数据保存到可掉电式存储设备中以供之后使用。持久化的大多数时候是将内存中的数据存储在数据库中&…

CompletableFuture实现异步编排

为什么需要异步执行&#xff1f; 场景&#xff1a;电商系统中获取一个完整的商品信息可能分为以下几步&#xff1a;①获取商品基本信息 ②获取商品图片信息 ③获取商品促销活动信息 ④获取商品各种类的基本信息 等操作&#xff0c;如果使用串行方式去执行这些操作&#xff0c;假…

使用Python包组织代码

使用Python包(package)组织代码Python 通过包(package)的方式来组织代码&#xff0c;包是一种特殊的模块(module)。Python 的包有两种形式&#xff0c;分别是Regular packages 和 namespace packages。所谓 Regular packages 就是指含有__init__.py的目录&#xff0c;这样的包被…

Jeston TX1TX2 A100 Ubuntu_1804_ROS 系统清理系统缓冲日志

大家好&#xff0c;我是虎哥&#xff0c;我自己的系统&#xff0c;运行一段时间后&#xff0c;出现了存储空间不足&#xff0c;详细查了一下&#xff0c;发现ROS本身就占用了大量的日志空间&#xff0c;这个当然在编程阶段&#xff0c;通过少加打印的方式来优化&#xff0c;但是…