1.使用jobsName.ini文件保存要创建job的名字

jobs1
jobs2
jobs3

2.使用Jenkins创建job时自动生成的config.xml文件为模板进行批量创建jobs或修改jobs,一般生成的job会在你安装的Jenkins目录下找到

3.脚本实现

import jenkins

jobsOperation = input("请选择是新建jobs还是修改jobs:\na.创建jobs \nb.修改jobs \n")

# 连接远程Jenkins
server=jenkins.Jenkins("http://127.0.0.1:8080/", username="admin", password="admin")
# 读取及修改的配置模板
pathConfigxml = open("config.xml",encoding='utf-8').read()

# 读取要创建的jobs名称
def readJobsName():
  jobnames = open('jobsName.ini',encoding="utf-8")
  return jobnames
  pass

# 读取要修改配置的jobs名称
def readChangeJobsName():
  changeJobsName = open('changeJobsName.ini', encoding='utf-8')
  return changeJobsName
  pass

# 创建新的jobs
def createNewJobs():
  jobsname = readJobsName()
  for jobName in jobsname:
    server.create_job(jobName.replace("\n",""),pathConfigxml)

  pass

# 批量修改已有的jobs
def changeJobs():
  changeJobsName = readChangeJobsName()
  for changeJobName in changeJobsName:
    server.reconfig_job(changeJobName.replace("\n",""), pathConfigxml)
  pass

if "a"==jobsOperation:
  createNewJobs()
elif "b"==jobsOperation:
  changeJobs()
else:print("未选择操作,退出任务!")

补充知识:python写一个功能:禁用jenkins中某一个job任务

import requests

#python写一个功能:禁用jenkins某一个任务(job)
print(requests.get('http://localhost:8080/jenkins/job/Test_version/').text)
url = 'http://localhost:8080/jenkins/job/Test_version/disable'
re = requests.post(url, data={}, auth=('wyq', 'wyq'))
print(re.status_code)
print(re.headers)
print(re.reason)

执行成功并在jenkins下查看Test_version任务已被成功禁用:

使用python-Jenkins批量创建及修改jobs操作

以上这篇使用python-Jenkins批量创建及修改jobs操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

标签:
python,Jenkins,jobs

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com

评论“使用python-Jenkins批量创建及修改jobs操作”

暂无“使用python-Jenkins批量创建及修改jobs操作”评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。