基于repos参数后路径的JFrog人工搜索API [英] JFrog artifactory search API based on path after repos parameter

查看:11
本文介绍了基于repos参数后路径的JFrog人工搜索API的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用JFrog ArtiFactory来存储maven类型的构建构件,我将存储库设置为$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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆