首页 > 解决方案 > 如何知道一个工件是否已经存在于 Jfrog Artifactory by Jenkins

问题描述

我正在开发一个 Jenkins 声明式管道。我将版本作为参数,根据该版本,我想在下载之前知道 Jfrog Artifactory 中是否存在特定文件夹。我安装了 Jenkins Artifactory 插件。有没有办法在下载之前知道这些信息?

编辑:我意识到我的问题有点断章取义。最后我想做的是上传一个工件。但是如果工件已经存在,我想给用户一个警告,如果他想继续的话。我想知道是否有解决方案,不同于下载工件以查看它是否存在,根据下载是否成功发出警告,然后上传工件。

标签: jenkinsjenkins-pipelinejenkins-pluginsartifactoryjenkins-job-dsl

解决方案


一个选项是使用 curl 就像您要下载文件一样。但与其提出 GET 请求,不如运行 HEAD 请求。

curl -X HEAD ...

curl --head ...

HEAD 方法与 GET 相同,只是服务器不能在响应中返回消息体。响应 HEAD 请求的 HTTP 标头中包含的元信息应该与响应 GET 请求发送的信息相同。此方法可用于获取有关请求所隐含的实体的元信息,而无需传输实体主体本身。 https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html


推荐阅读