Artifactory 基于repos参数后路径的JFrog人工搜索API

Artifactory 基于repos参数后路径的JFrog人工搜索API,artifactory,Artifactory,我使用Jfrog Artifactory来存储maven类型的构建工件,我将存储库设置为$ARTIFACT\u BASEURL/MYREPO/TeamName/API\u Name/API-1.0.0.jar,其中MYREPO是实际的存储库名称,TeamName/API\u Name是存储API特定工件的子文件夹。当我构建API并将工件推送到MYREPO中各自的文件夹时,一切都很好 当我尝试使用JFrog搜索API查找存储库时,它不允许在搜索API中使用子文件夹/路径,如我在下面提到的 当前:c

我使用Jfrog Artifactory来存储maven类型的构建工件,我将存储库设置为
$ARTIFACT\u BASEURL/MYREPO/TeamName/API\u Name/API-1.0.0.jar
,其中
MYREPO
是实际的存储库名称,
TeamName/API\u Name
是存储API特定工件的子文件夹。当我构建API并将工件推送到
MYREPO
中各自的文件夹时,一切都很好

当我尝试使用JFrog搜索API查找存储库时,它不允许在搜索API中使用子文件夹/路径,如我在下面提到的

当前:
curl-hx-JFrog-Art-Api:apikey“https://artifactory.company.com/artifactory/api/search/artifact?name=company&repos=MYREPO“

应为:
Curl-hx-JFrog-Art-Api:apikey“https://artifactory.company.com/artifactory/api/search/artifact?name=company&repos=MYREPO/TeamName/API_Name“
Curl-hx-JFrog-Art-Api:apikey”https://artifactory.company.com/artifactory/api/search/artifact?name=company&repos=MYREPO&path=TeamName/API_Name“

这样我就可以查找存储在这个路径中的二进制文件

请建议/纠正我的做法


非常感谢

您提到您正在使用Artifactory存储Maven工件。您为工件应用的当前布局不是标准的Maven2。使用Maven类型的存储库时,Artifactory依赖于具有正确的布局,因此Artifactory搜索API将无法找到您的工件。
您当前正在尝试使用快速搜索API,该API只允许按工件名称进行搜索。还有其他类型的搜索方法,例如,允许您也按Maven groupId和版本进行搜索。
有两种选择:

(1) 符合标准Maven并使用
(2) 使用Artifactory存储库并应用与当前使用的布局匹配的。这将允许您在保持当前使用布局的同时搜索工件。
(3) 保持当前设置,并根据路径为工件创建(AQL),例如:

items.find({"repo": "myrepo"}, {"path" : "a/b/c"})