利用Python-Jenkins批量创建与修改Job任务的自动化方案

Alice
Alice
发布时间:2026-10-13| 4人浏览过
原创

本文介绍如何使用Python结合Jenkins库实现Job的批量创建与修改。通过读取jobsName.ini文件获取任务名,利用生成的config.xml作为模板,调用create_job和reconfig_job接口自动化操作。此外,补充了通过requests库禁用特定Job的示例,旨在提升Jenkins任务管理效率。

准备Job名称配置文件

首先,准备一个名为jobsName.ini的文件,用于存储需要创建的Job任务名称列表。

该配置文件内容示例如下,每行一个Job名称: jobs1 jobs2 jobs3

利用config.xml模板进行批量操作

其次,在Jenkins中创建Job时,系统会自动生成对应的config.xml配置文件。我们可以将此文件作为模板,用于批量创建新的Job或修改现有Job的配置。通常,这些生成的配置文件位于Jenkins的安装目录下。

Python脚本实现逻辑

接下来,通过Python脚本实现具体的自动化操作逻辑。

批量创建与修改核心代码


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("未选择操作,退出任务!")

禁用特定Job任务的补充方案

补充知识:除了批量创建,还可以使用Python编写功能来禁用Jenkins中的特定Job任务。

禁用Job的Requests实现代码


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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。