使用 curl 在 artifactory 中搜索工件

search for an artifact in artifactory using curl

我一遍又一遍地阅读 REST api,但无法弄清楚如何使用 curl.

在人工制品中搜索工件的确切语法

这就是我正在做的事情:

result=$(curl -u ${ArtifactoryUsername}:${ArtifactoryAPIKey} -X GET "${artifactory_repo}/api/search/artifact?name=${generated_package_name}")
echo "${result}"

这里,artifactory_repo是

https://xxx.artifactory.xxx.com:443/artifactory/hyc-ca-container-helm-local

hyc-ca-container-helm-local 是我的回购协议,我已经附加在我的人工制品 url

的末尾

该文件在人工制品中,但我收到消息文件未找到。 我确定原因是我使用的语法不正确。

有人可以指导我吗?

您可以将 Artifactory Query Language (AQL) 与 REST API 一起使用并进行搜索。

如果您要在给定存储库中搜索工件(使用工件搜索 API),您应该使用以下格式:

GET /api/search/artifact?name=lib&repos=libs-release-local

对于您问题中的代码,应该是:

result=$(curl -u ${ArtifactoryUsername}:${ArtifactoryAPIKey} -X GET "https://xxx.artifactory.xxx.com:443/artifactory/api/search/artifact?name=${generated_package_name}&repos=hyc-ca-container-helm-local")

请注意,存储库名称 (hyc-ca-container-helm-local) 应作为查询参数提供,而不是 URL 的一部分。您已将它放在导致 404 错误的 api 上下文之前。