如何通过Jenkins Pipeline输入参数上传文件?
Jenkins Pipeline 文件参数配置与使用指南
1. "File Location" 填写规则
当你使用Jenkins的文件类型输入参数时,"File Location"用来指定上传文件在Jenkins代理节点上的存储路径:
- 最简写法直接用参数名,比如
${Asset},上传文件会存放在当前Pipeline工作空间的根目录下 - 如需归类存储,可填相对子路径,比如
upload_assets/${Asset},文件会被放到工作空间下的upload_assets子目录中 - 注意:这里的路径是Jenkins代理节点上的路径,不是本地浏览器的文件路径,无需填写本地路径
2. 脚本中访问上传的文件
既然你已能通过${Asset}获取文件名,结合上述存储路径,文件的完整路径可按以下方式拼接:
- 若File Location填
${Asset},完整路径为:${WORKSPACE}/${Asset} - 若填子路径(如
upload_assets/${Asset}),完整路径为:${WORKSPACE}/upload_assets/${Asset}
在Pipeline脚本中可直接用该路径访问文件,例如打印文件信息:
sh "ls -l ${WORKSPACE}/${Asset}"
3. 通过curl发送上传的文件
使用curl的-F参数(表单上传)发送文件,格式为-F "字段名=@文件完整路径",示例如下:
sh """ curl -X POST \ https://your-target-api-url \ -F "asset_file=@${WORKSPACE}/${Asset}" \ -H "Authorization: Bearer your-token" """
- 替换
your-target-api-url为实际接口地址 asset_file是接口接收文件的字段名,需与后端接口定义一致- 如需额外请求头,可通过
-H参数添加
内容的提问来源于stack exchange,提问作者Abhay
相关产品推荐
相关产品推荐

