0

我一遍又一遍地阅读 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 的末尾

该文件在工件中,但我找不到消息文件。我确信原因是我使用的语法不正确。

有人可以在这里指导我吗?

4

2 回答 2

1

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

于 2020-08-06T08:24:38.900 回答
1

如果您在给定存储库中搜索工件(使用工件搜索 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 上下文之前。

于 2020-08-06T08:59:14.010 回答