使用python-Jenkins批量创建及修改jobs操作
作者:谷穗 发布时间:2023-07-01 01:53:11
标签:python,Jenkins,jobs
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任务已被成功禁用:
来源:https://blog.csdn.net/u012127765/article/details/104061353


猜你喜欢
- 安装Python环境ANACONDA是一个Python的发行版本,包含了400多个Python最常用的库,其中就包括了数据分析中需要经常使用
- 在日常工作编程中存在着各种随机事件,同样在编程中生成随机数字的时候也是一样,随机有多随机呢?在涉及信息安全的情况下,它是最重要的问题之一。每
- 代码如下# 爬取网易音乐import requestsfrom bs4 import BeautifulSoupimport urllib.
- 例子class A(object): def foo(self,x): print "exe
- 用python语言读取二进制图片文件,并提取非零数据统计信息(例如:max,min,skewness and kurtosis)python
- 前言目前学习python几个月了,由于自己比较喜欢跑马拉松,已经跑过了很多场比赛,前些天就写了个简单的爬虫爬取了网上三千多场马拉松比赛的报名
- Vue Grid Layout官方文档Vue Grid Layout中文文档1. npm下载拖拽缩放库npm install vue-gri
- 如下所示:import numpy as npb = [[1,2,0],[4,5,0],[7,8,1],[4,0,1],[7,11,1] &
- Application Name(应用程序名称):应用程序的名称。如果没有被指定的话,它的值为.NET SqlClient Data Pro
- 在对数值进行格式化的时候,一个常见的问题是按照千分位格式化,网上对这个问题已经有很多种解决方法了,还可以利用Array.prototype.
- 1、块级作用域想想此时运行下面的程序会有输出吗?执行会成功吗?#块级作用域if 1 == 1: name = "lzl"
- this指针是面向对象程序设计中的一项重要概念,它表示当前运行的对象。在实现对象的方法时,可以使用this指针来获得该对象自身的引用。和其他
- 最近项目中的资产的任务状态频频出现问题,查看日志文件,看代码逻辑,也没发现什么具体的错误,总是过段时间就会出现一个表的字段没有更新的问题,很
- mysql-connector-java与mysql版本的对应我们知道版本更新经常带来的问题就是兼容性问题。在编程过程中版本的错误选择很可能
- 近期,又有接触到pyecharts这个包的使用,后面发现这个曾经好用的包发生了一些变化,为了方便大家的使用,这里整理如下:绘图风格theme
- 字典dict1 = {'name':'han','age':18,'class
- 最近看到市场上各种的文档格式转换软件,要么是收费、要么是有大量的广告。于是学习了一下 PyQt5 的页面操作,再加上了解 pandas 的使
- python flask搭建web应用教程1.flask介绍2.所需工具和环境3.搭建flaskApp4.具体程序编写5.综上1.flask
- 这里以mysql为例,先明确以下几个问题:一.一般项目如果不自己配置事务的话,一般默认的是autocommit,即执行完一个操作后自动com
- 1、引言小鱼:小 * 丝,走啊,出去撸串啊,小 * 丝:没时间啊,鱼哥小鱼:嗯??? 啥事情让你忙的撸串都不去了小 * 丝:我的BOSS让我写一个自动化