如何通过Jenkins API更新Jenkins配置中的共享库版本至1.1.0
解决方案
支持通过Jenkins API更新全局共享库的版本,核心是通过修改Jenkins全局配置的XML配置实现,以下是Python实现的具体步骤:
前置准备
- 安装Python Jenkins操作依赖库:
pip install python-jenkins - 确认所用Jenkins账号拥有「修改全局配置」的权限
- 提前备份Jenkins原有全局配置,避免操作失误影响服务
操作步骤
- 连接Jenkins实例,获取全局配置XML
- 解析XML找到目标共享库的配置节点,修改默认版本为
1.1.0 - 提交修改后的配置到Jenkins生效
代码示例
import jenkins import xml.etree.ElementTree as ET # 配置Jenkins连接信息 jenkins_url = "你的Jenkins服务地址" username = "你的账号" api_token = "你的API Token" # 连接Jenkins server = jenkins.Jenkins(jenkins_url, username=username, password=api_token) # 1. 获取全局配置XML global_config = server.get_jenkins_config() root = ET.fromstring(global_config) # 2. 查找目标共享库并修改版本 for lib in root.findall(".//org.jenkinsci.plugins.workflow.libs.LibraryConfiguration"): lib_name = lib.find("name").text # 替换为你要修改的共享库实际名称 if lib_name == "目标共享库名称": default_version_node = lib.find("defaultVersion") if default_version_node is not None: default_version_node.text = "1.1.0" break # 3. 提交修改后的配置 updated_config = ET.tostring(root, encoding='unicode') server.reconfig_jenkins(updated_config) print("共享库版本已更新为1.1.0")
补充说明
- 如果你不想用第三方库,也可以直接通过HTTP请求实现:GET请求
/configure/config.xml获取配置,修改后带认证信息POST到同一个地址即可生效 - 操作前建议先在测试环境验证流程,避免修改错误导致全局配置异常

内容的提问来源于stack exchange,提问作者jipot
相关产品推荐
相关产品推荐

