Jenkins:使用 Jenkins 请求插件通过 HTTP POST 将文件上传到服务器

时间:2021-01-07 08:24:28

标签: http jenkins groovy jenkins-pipeline content-type

我正在尝试通过管道将 Jenkins 的 Softwarefile 上传到服务器。服务器 API 需要以下信息:

Content-Type: multipart/form-data;
 
boundary= 'boundary'

body = 
--'boundary'
Content-Disposition: form-data; name=file; filename=origFilename

????
--'boundary'--

遗憾的是,HTTP 请求插件不支持 Content-Type “multipart/form-data” (https://www.jenkins.io/doc/pipeline/steps/http_request/)

我试图忽略内容类型(因为我可以选择忽略它或给出错误的类型)并得到 415 错误代码。由于我正在尝试发送一个 .txt 文件并且知道服务器接受文本文件(我通过邮递员成功上传了一个)我认为这可能是由内容类型造成的。

当前代码:

httpRequest  httpMode: 'POST', url: "https:<host>.com/", requestBody: '--' + "<boundary>" + 'Content-Disposition: form-data; name="file";' + 'filename="JenkinsDemo.txt"' + '???' + "<boundary>" + '--'

有没有其他方法可以将文件上传到服务器?或者您有使用插件的解决方案吗?

1 个答案:

答案 0 :(得分:0)

httpRequest 插件确实可以上传文件。我以前用过。

uploadFile 设置为上传文件的路径,如有必要,将 contentType 设置为您选择的内容类型。