当前位置: 首页 > news >正文

Python实现Jenkins实现自动化执行Job

Jenkins实现自动化执行Job

jenkins_url job地址
username 用户名
api_token 去jenkins设置中生成一个
job_dict中 name自己起个名字, name为jenkins中的job_name,http为该job_name对应的网址
看到执行成功后,则触发对应的含参数job

需要安装python库jenkinsapi 接口可参考该网站:http://pycontribs.github.io/jenkinsapi/

from jenkinsapi import jenkins
import requests
job_dict = {"name": ['job_name"', 'http:XXX']}class JenkinsApi:def __init__(self, job_name, data=None):self.jenkins_url = "http:XXX:8080"self.username = "XXX"self.api_token = ""self.server = jenkins.Jenkins(self.jenkins_url, self.username, self.api_token, use_crumb=True)self.build_num = 0self.job_name = job_nameself.data = dataself.build_job()def build_job(self):# 1. 获取CSRF令牌crumb_url = f"{self.jenkins_url}/crumbIssuer/api/json"auth = (self.username, self.api_token)crumb_response = requests.get(crumb_url, auth=auth)crumb_data = crumb_response.json()# 2. 准备构建请求build_url = job_dict[self.job_name][1]headers = {crumb_data['crumbRequestField']: crumb_data['crumb'],"Content-Type": "application/x-www-form-urlencoded"}self.build_num = self.server[job_dict[self.job_name][0]].get_next_build_number()response = requests.post(build_url,headers=headers,auth=auth,data=self.data  # 关键修改:使用data而非params)if response.status_code == 201:print("{0}构建已成功触发".format(self.job_name))else:print(f"构建触发失败,状态码: {response.status_code}")print(f"响应内容: {response.text}")raise Exception("构建触发失败")def build_status(self):return self.server[job_dict[self.job_name][0]].get_build(self.build_num).get_status()if __name__ == "__main__":server = JenkinsApi("name")print(server.build_status())
http://www.dtcms.com/a/516673.html

相关文章:

  • 响应式网站建设服务企业建设企业网站的好处
  • 黑龙江省机场建设集团官网网站wordpress jquery 无法
  • 中国站免费推广入口江门移动网站建设多少钱
  • 打印机内容左右偏移调整指南
  • K 线形态 - 红三兵
  • PINNs for Medical Image Analysis: A Survey
  • 网站建设公司市场开发方案劳动法24小时免费咨询
  • 微信开发 网站备案吗建e网模型下载
  • Spring Boot 3零基础教程,WEB 开发 Spring Boot 错误处理机制 自定义异常页面 笔记46
  • 织梦网站入侵python 编辑wordpress
  • 青海省建设工程在哪个网站发布做网络推广一个月多少钱
  • SQL SERVER 解析XML
  • 算法偏见的社会建构与司法决策中的公平性规制
  • 企业培训笔记:外卖平台后端--套餐管理模块--新建套餐信息
  • 湖北 网站 备案 时间毕业设计做系统网站
  • h5游戏免费下载:骑士冒险
  • 河北城乡建设官网站做群头像的网站在线
  • 操作系统4.1.9 文件保护
  • 【图像算法 - 29】手把手教你用 YOLO + PyQt5 搭建垃圾检测系统(附完整源码)
  • 误差优化方向-1
  • 网站建设制作公司思企互联兰州网站优化公司
  • 沈阳平台网站建设网站开发的实训周的实训过程
  • 希尔排序详解
  • 专业网站开发公司网站流量排名 全球
  • 深入浅出 SQL 注入
  • wordpress 整站 数据石林网站建设
  • 哪些网站是响应式网站网站运营是做什么的
  • TDengine 配置参数作用范围对比
  • DDPM(Diffusion)个人总结
  • 解决了“错误的问题”:对AI编程热潮的深度反思