JFrog artifactory search API 基于 repos 参数后的路径
JFrog artifactory search API based on path after repos parameter
我正在使用 Jfrog Artifactory 来存储我的 maven 类型的构建工件,我将存储库设置为 $ARTIFACT_BASEURL/MYREPO/TeamName/API_Name/api-1.0.0.jar
,其中 MYREPO
是实际的存储库名称,TeamName/API_Name
是子文件夹在其中存储 api 个特定的工件。在我 API 构建工件并将其推送到 MYREPO
.
中它们各自的文件夹时,一切都很好
虽然我尝试使用 JFrog 搜索 API 查找存储库,但它不允许 subfolder/path 在搜索 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”
这样我就可以查找存储在此路径中的二进制文件。
请suggest/correct我把流程弄好
非常感谢!!
您提到您正在使用 Artifactory 来存储 Maven 工件。您为工件应用的当前布局不是标准 Maven2 reposiotry layout。使用 Maven 类型的存储库时,Artifactory 依赖于正确的布局,因此 Artifactory 搜索 API 将无法找到您的工件。
您目前正在尝试使用快速搜索 API,它只允许通过工件名称进行搜索。还有其他类型的搜索方法,例如 GAVC search,它允许您还可以通过 Maven groupId 和版本进行搜索。
有几个选项:
(1) 符合标准 Maven 存储库布局 并使用 GAVC search
(2) 使用与您当前使用的布局相匹配的 generic Artifactory repository and apply a custom layout。这将允许您在保持当前使用的布局的同时搜索工件。
(3) 保持您当前的设置,并且您 Artifactory Query Language (AQL) to search 用于基于路径的工件,例如:
items.find({"repo": "myrepo"}, {"path" : "a/b/c"})
我正在使用 Jfrog Artifactory 来存储我的 maven 类型的构建工件,我将存储库设置为 $ARTIFACT_BASEURL/MYREPO/TeamName/API_Name/api-1.0.0.jar
,其中 MYREPO
是实际的存储库名称,TeamName/API_Name
是子文件夹在其中存储 api 个特定的工件。在我 API 构建工件并将其推送到 MYREPO
.
虽然我尝试使用 JFrog 搜索 API 查找存储库,但它不允许 subfolder/path 在搜索 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”
这样我就可以查找存储在此路径中的二进制文件。
请suggest/correct我把流程弄好
非常感谢!!
您提到您正在使用 Artifactory 来存储 Maven 工件。您为工件应用的当前布局不是标准 Maven2 reposiotry layout。使用 Maven 类型的存储库时,Artifactory 依赖于正确的布局,因此 Artifactory 搜索 API 将无法找到您的工件。
您目前正在尝试使用快速搜索 API,它只允许通过工件名称进行搜索。还有其他类型的搜索方法,例如 GAVC search,它允许您还可以通过 Maven groupId 和版本进行搜索。
有几个选项:
(1) 符合标准 Maven 存储库布局 并使用 GAVC search
(2) 使用与您当前使用的布局相匹配的 generic Artifactory repository and apply a custom layout。这将允许您在保持当前使用的布局的同时搜索工件。
(3) 保持您当前的设置,并且您 Artifactory Query Language (AQL) to search 用于基于路径的工件,例如:
items.find({"repo": "myrepo"}, {"path" : "a/b/c"})