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

如何通过代码使用修改后的Jenkins Pipeline脚本触发新构建任务

实现方案

下面提供两种常用的无网页操作实现方式,都可以直接调用本地修改后的Jenkinsfile触发构建:


方案1:Python 实现(推荐用于自动化测试脚本集成)

前置准备

  • 安装依赖库:pip install python-jenkins
  • 提前获取Jenkins访问权限:用户名 + 密码/API令牌(API令牌可在Jenkins个人设置页面生成,安全性更高)
  • 提前给TEST-PIPELINE任务添加一个字符串类型的构建参数,参数名设为CUSTOM_PIPELINE_SCRIPT,同时将任务的Pipeline定义改为Pipeline script,内容填${CUSTOM_PIPELINE_SCRIPT}即可,后续所有自定义脚本都可以通过参数传递,不需要修改任务配置。

代码示例

import jenkins

# 配置项
JENKINS_URL = "http://你的Jenkins服务地址"
JENKINS_USER = "你的用户名"
JENKINS_TOKEN = "你的密码/API令牌"
JOB_NAME = "TEST-PIPELINE"
JENKINSFILE_PATH = "./Jenkinsfile" # 本地修改后的Jenkinsfile路径

# 读取本地修改后的Jenkinsfile内容
with open(JENKINSFILE_PATH, "r", encoding="utf-8") as f:
    pipeline_script = f.read()

# 连接Jenkins服务
server = jenkins.Jenkins(JENKINS_URL, username=JENKINS_USER, password=JENKINS_TOKEN)

# 传递自定义脚本参数触发构建
server.build_job(JOB_NAME, parameters={
    "CUSTOM_PIPELINE_SCRIPT": pipeline_script
})

print("构建任务已触发成功")

如果你不想修改原任务的配置,也可以通过代码创建一个临时测试任务,运行完成后自动删除,避免影响原流水线。


方案2:curl 命令行实现(轻量无需依赖)

直接执行以下命令即可触发,把对应占位符替换成你自己的配置即可:

curl -X POST http://你的用户名:你的API令牌@你的Jenkins地址/job/TEST-PIPELINE/buildWithParameters \
  --data-urlencode CUSTOM_PIPELINE_SCRIPT@./Jenkinsfile

注意事项

  • 确保你的账号拥有TEST-PIPELINE的构建权限、参数传递权限
  • 如果Jenkins开启了CSRF保护,需要先获取crumb再请求,Python的python-jenkins库会自动处理crumb,curl需要额外加-H "Jenkins-Crumb: 你的crumb值"参数
  • 测试完成后如果不需要保留参数配置,可以改回原任务的Pipeline定义

内容的提问来源于stack exchange,提问作者zxy_snow

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:54:06