如何用Python脚本带参数触发Jenkins任务?能否使用requests.get?
Jenkins带参数构建的Python自动化脚本
一、Python脚本实现(推荐用POST方法)
下面是直接可用的脚本,替换成你的Jenkins实例信息、任务名、参数和认证信息即可:
import requests # Jenkins配置信息 JENKINS_URL = "http://你的Jenkins地址:端口" JOB_NAME = "你的任务名称" USERNAME = "你的Jenkins用户名" API_TOKEN = "你的Jenkins API Token" # 在用户设置页面生成 # 构建参数,和手动填写的参数对应 BUILD_PARAMS = { "PARAM1": "参数值1", "PARAM2": "参数值2", # 按需添加更多参数 } # 拼接构建请求URL build_url = f"{JENKINS_URL}/job/{JOB_NAME}/buildWithParameters" # 发送POST请求触发构建 response = requests.post( build_url, params=BUILD_PARAMS, auth=(USERNAME, API_TOKEN) ) # 校验请求结果 if response.status_code == 201: print("构建任务已成功触发") else: print(f"触发失败,状态码: {response.status_code},响应内容: {response.text}")
二、能不能用requests.get方法实现?
理论上可以,但强烈不推荐:
- GET请求会把所有构建参数直接拼在URL里,参数值会暴露在日志、浏览器历史或服务器记录中,存在安全隐患
- 如果参数包含特殊字符(比如空格、
&、=),需要额外编码,容易出现解析错误 - Jenkins官方API文档更推荐使用POST方法触发带参数的构建,GET仅作为兼容旧场景的兜底方式
如果非要尝试GET,只需把脚本里的requests.post替换成requests.get即可,但请务必评估上述风险。
内容的提问来源于stack exchange,提问作者Nidhi Kapoor
相关产品推荐
相关产品推荐

