相关文章推荐
坐怀不乱的猕猴桃  ·  区块链指南 ...·  1 年前    · 
礼貌的跑步机  ·  Atlassian In ...·  1 年前    · 
last_build_number: Jenkins最后一次构建number last_build_result: Jenkins最后一次构建结果 last_build_report: Jenkins最后一次构建输出报告 last_build_report = jenkins_url + "job/" + job_name + "/HTML_20Report/" + job_name + "_" + str(last_build_number) + ".html" last_build_number, last_build_result = jenkins_build() data = { "msg_type": "interactive", "card": { "config": { "wide_screen_mode": True, "enable_forward": True "elements": [{ "tag": "div", "text": { # 这是卡片的内容,也可以添加其他的内容:比如构建分支,构建编号等 "content": "项目名称: {}".format(job_name), "tag": "lark_md" "tag": "div", "text": { # 这是卡片的内容,也可以添加其他的内容:比如构建分支,构建编号等 "content": "构建编号: 第{}次构建".format(last_build_number), "tag": "lark_md" "tag": "div", "text": { # 这是卡片的内容,也可以添加其他的内容:比如构建分支,构建编号等 "content": "用例执行结果 - {}".format(last_build_result), "tag": "lark_md" "tag": "div", "text": { # 这是卡片的内容,也可以添加其他的内容:比如构建分支,构建编号等 "content": "构建URL: {}job/{}/{}".format(jenkins_url, job_name, last_build_number), "tag": "lark_md" "actions": [{ "tag": "button", "text": { # 这是卡片的按钮,点击可以跳转到url指向的构建日志路径 "content": "构建日志", "tag": "lark_md" # JOB_URL 调用python定义的变量,该url是服务器下的build log路径 "url": f"{jenkins_url}job/{job_name}/{last_build_number}/console", "type": "default", "value": {} "tag": "button", "text": { # 这是卡片的按钮,点击可以跳转到url指向的report路径 "content": "查看测试报告", "tag": "lark_md" "url": f"{last_build_report}", "type": "default", "value": {} "tag": "action" "header": { "template": "red", "title": { # JOB_NAME 调用python定义的变量,这是卡片的标题 "content": "【接口自动化构建报告】 - build#{}".format(last_build_number), "tag": "plain_text" response = requests.request(method=method, url=url, headers=headers, json=data) print(response) print(response.json()) 获取正在排队 构建 的job队列 即pending状态中的所有job,如果没有 pending状态的job即返回1个空列表 queue_info = server.get_queue_info() 获取job 构建 结果 server.get_ build _info(name, build _number)[ 'result'] # 构建 结束 SUCCESS|FAILURE ABORTED 构建 1 获取jobs的当前任务状态 server_1 = jenkins . Jenkins (‘http://%s:%s@192.168.37.134:8081/’,username, password) 获取状态前先确认2019文件夹下的get_node_list任务是否存在: server_1.assert_job_exists(‘2019/get_node_list’) 获取最后一次 完成 (不包括执行中的)的job任务执行number: server_1.get_job_info(‘2019/get_node_list’)[‘lastCompleted Build ’][‘number’] save_job_xml - 显示如何使用 jenkins api下载作业 config.xml job_ build er_simple - 展示如何使用 jenkins -job- build er创建简单的作业 job_ build er_template - 展示如何使用 jenkins -job- build er模板和用户定义的变量为每个分支创建 构建 作业 basic_flow - 展示如何创建简单的 jenkins flow脚本来执行 构建 jenkins 通知 插件 Jenkins 插件使用可配置的JSON负载将POST请求 发送 构建 后操作。 默认情况下,提交的有效负载包含 构建 的详细信息( 构建 号, 构建 结果,作业和日志URL),生成的工件的URL,Git分支和提交SHA。 但是,作为可配置的它可以包含您可能想到的任何 Jenkins ,作业或 构建 细节! JSON有效负载呈现为,范围内具有以下变量: jenkins -实例 build - 实例 env - 实例对应于当前的 构建 过程 这是提交默认有效负载的 : 此外,还提供json( Object ) helper函数,可将提供的任何Object呈现为JSON。 "items": ${ json( jenkins .allItems ) }, "computers": ${ json( jenkins .computers.collect{ 代码 send _notice.py中拿到 Jenkins 引用变量参数,放到https://www.sojson.com/ 进行格式压缩。 send _notice.py 代码 需要上传 Jenkins 服务器。得到一行参数,放到 Jenkins 中引用。 send _notice.py最后面。 get Build State(){ build Nr=$1 curl -u # jenkins 账号密码信息 ${JOB_URL}/${ build Nr}/api/json |grep -Po '"result":\s*"\K\w+' state=$(get Build Sta get Build State(){ build Nr=$1 curl -v ${JOB_URL}/${ build Nr}/api/json --header 'Authorization: Basic YWRtaW46VWF0NjY2IQ==' | grep -Po '"result":\s*"\K\w+' from email.mime.text import MIMEText from email.mime.image import MIMEImage from email.mime.multipart import MIMEMultipart from email.mime.application import MIMEApplication # 写成了一个通用的函数接口,想直接用的话,把参数的注释去掉就好 def send _email(msg_from, passwd,. import pprint import time # 在 jenkins 的Configure Global Security下 , 取消“防止跨站点请求伪造(Prevent Cross Site Request Forgery exploits)”的勾选 server = jenkins . Jenkins ('http://192.168.100.151:8081', username='admin', password='admin') # 下次 构建 的id (因为 飞书 截图有水印,所以这里用别人的博客的图)图1图2图3图4!!我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。