基于repos参数后路径的JFrog人工搜索API [英] JFrog artifactory search API based on path after repos parameter
问题描述
$ARTIFACT_BASEURL/MYREPO/TeamName/API_Name/api-1.0.0.jar
,其中MYREPO
是实际的存储库名称,TeamName/API_Name
是其中的子文件夹,用于存储API特定的构件。在我进行API构建并将构件推送到MYREPO
中各自的文件夹时,一切都很好。
虽然我尝试使用JFrog Search API在存储库中查找,但它不允许在搜索API中使用子文件夹/路径,正如我在下面提到的,
当前:curl -H X-JFrog-Art-Api:apikey "https://artifactory.company.com/artifactory/api/search/artifact?name=company&repos=MYREPO"
预期:Curl -H X-JFrog-Art-Api:apikey "https://artifactory.company.com/artifactory/api/search/artifact?name=company&repos=MYREPO/TeamName/API_Name"
或
Curl -H X-JFrog-Art-Api:apikey "https://artifactory.company.com/artifactory/api/search/artifact?name=company&repos=MYREPO&path=TeamName/API_Name"
以便我可以查找存储在此路径中的二进制文件。
请建议/纠正我正确的流程
非常感谢!!
推荐答案
您提到您正在使用ArtiFactory来存储Maven构件。您正在为您的构件应用的当前布局不是标准Maven2reposiotry layout。在使用Maven类型化存储库时,ArtiFactory依赖于具有正确的布局,因此ArtiFactory搜索API将无法找到您的构件。
您当前正在尝试使用Quick Search API,它只允许按构件名称进行搜索。还有其他类型的搜索方法,例如GAVC search,它还允许您按Maven组ID和版本进行搜索。
有几个选项:
(1)遵循标准Mavenrepository layout,使用GAVC search
(2)使用genericArtiFactory存储库并应用与您正在使用的当前布局匹配的custom layout。这将允许您搜索项目,同时保留您正在使用的当前布局。
(3)保留您当前的设置,并根据路径将Artifactory Query Language(AQL)设置为search,例如:
items.find({"repo": "myrepo"}, {"path" : "a/b/c"})
这篇关于基于repos参数后路径的JFrog人工搜索API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!