小编典典

如何将文件上传到jenkins并用于构建?

jenkins

我对詹金斯(Jenkins)非常陌生,我一直在尝试使用curl来完成我的工作。伴随着这种卷曲,我想将文件发送到Jenkins,该文件应放在我的工作区的特定目录中。我一直在大量搜索,但是似乎找不到清晰的文档来引导我解决问题。请指导。我也查看了Google和StackOverflow上的其他文章,但找不到我想要的东西。

curl -X POST JENKINS_URL / job / JOB_NAME / build \ –form file0 = / home /
abc.xml \ –form json =’{“ parameter”:[{“ name”:“ / workspace”,“ file”: “
file0”}]}’

我也尝试过,似乎没有用。


阅读 1965

收藏
2020-07-25

共1个答案

小编典典

来自Jenkins文件参数帮助

指定工作空间中相对于上传文件放置位置的位置(例如,“ jaxb-ri / data.zip”)

上载的文件位置是相对于工作空间的。 您需要在脚本中复制/移动它。 名称部分是作业的文件参数名称。它不是文件名

这是脚本。作业具有名为RECORDS_LIST的文件参数。

curl -X POST  http://localhost:8080/job/builder/build \
             --form attachedfile=@c:/1.txt \
             --form json='{"parameter": [{"name":"RECORDS_LIST", "file":"attachedfile"}]}'

你的可能是

curl -X POST JENKINS_URL/job/JOB_NAME/build \ 
  --form file0=/home/abc.xml \ 
  --form json='{"parameter": [{"name":"YOUR_JOBS_FILE_ARGUMENT_NAME", "file":"file0"}]}'

请注意,jenkins 命令行api可以处理文件上传

java -jar jenkins-cli.jar -s http://localhost:8080/ build builder \
      -p YOUR_JOBS_FILE_ARGUMENT_NAME=/home/abc.xml

[看到OP自己的答案后进行编辑]

警报

curl命令中的文件名路径部分具有’@’(请注意,@在路径之前)。詹金斯cli不需要它。发生此错误时,很难跟踪。

2020-07-25