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

如何在Jenkins远程参数化构建中配置Copy Artifact参数?

Jenkins API触发构建并设置Copy Artifact参数的格式问题

常规触发Jenkins构建的API调用格式如下:

https://my.jenkins/jenkins/buildByToken/buildWithParameters?job=my-job&token=my-token&PARAM1=my-param-value&PARAM2=my-param-value

但当需要设置从指定构建复制工件的参数时,对应的API格式是什么?目前尝试的所有格式都返回500错误,且Copy Artifact插件文档仅说明UI和流水线中的用法,未提及API调用方式。能否从流水线示例推导出API调用格式?

从流水线示例推导API参数格式

如果你的流水线任务是通过参数控制Copy Artifact行为的,可直接将这些参数作为API的查询参数传递:

  1. 先在流水线中定义用于控制Copy Artifact的参数:
pipeline {
  parameters {
    string(name: 'COPY_FROM_JOB', description: '要复制工件的源任务名称')
    string(name: 'COPY_FROM_BUILD', description: '源任务的目标构建号')
  }
  stages {
    stage('复制工件') {
      steps {
        copyArtifacts(
          projectName: params.COPY_FROM_JOB,
          selector: specific(params.COPY_FROM_BUILD)
        )
      }
    }
  }
}
  1. 对应的API调用格式:
https://my.jenkins/jenkins/buildByToken/buildWithParameters?job=my-job&token=my-token&COPY_FROM_JOB=upstream-job&COPY_FROM_BUILD=123

自由风格项目的处理方式

如果是自由风格项目,需要先在项目中添加字符串类型的构建参数(比如UPSTREAM_JOB和UPSTREAM_BUILD),然后在Copy Artifact构建步骤的配置中,用${参数名}的方式引用这些参数(例如源任务填${UPSTREAM_JOB},构建号填${UPSTREAM_BUILD}),之后API调用时直接传递这些参数即可:

https://my.jenkins/jenkins/buildByToken/buildWithParameters?job=my-job&token=my-token&UPSTREAM_JOB=upstream-job&UPSTREAM_BUILD=123

500错误排查提示

出现500错误大概率是参数名称不匹配、参数值无效(比如构建号非数字、源任务不存在),可以查看Jenkins服务器日志定位具体错误原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 23:12:16