You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 06:07:04