Jenkins使用HTTP Request插件上传文件报Name is blank错误如何解决
问题原因
你遇到的Name is blank报错是因为使用Jenkins HTTP Request插件上传文件时,只指定了uploadFile参数,没有补充multipart表单的文件字段名参数,Apache HttpClient构建multipart请求时要求每个表单部分必须有非空的name值,所以触发了校验异常。
解决方案
在httpRequest的参数中新增multipartName参数,值填写Tenable接口要求的文件上传表单字段名即可,该接口标准字段名为file,修改后的代码如下:
script { env.WORKSPACE = pwd() def response = httpRequest url: "https://cloud.tenable.com/compliance/export", customHeaders: [[name: 'X-ApiKeys', value: "${ACCESS_KEY}"]], httpMode: 'POST', acceptType: 'APPLICATION_JSON', uploadFile: "${env.WORKSPACE}/test.zip", // 新增这一行,指定multipart表单的文件字段名 multipartName: "file" }
额外注意事项
- 如果你使用的HTTP Request插件版本低于1.8.24,
multipartName参数可能不存在,建议先升级插件到最新稳定版 - 注意检查
X-ApiKeys的取值格式是否符合Tenable要求,标准格式为accessKey=你的访问密钥; secretKey=你的安全密钥,避免后续出现权限错误
内容的提问来源于stack exchange,提问作者HC LW
相关产品推荐
相关产品推荐

