因此,我在Artifactory上拥有一个docker存储库,该存储库使用以下命令列出了网址中的所有文件夹和子文件夹:curl -ksSL -H "X-JFrog-Art-Api:ApiKeyHere" "https://artifactory.service.company:443/artifactory/api/docker/docker-local/v2/_catalog"
输出为:{ "repositories" : [ "folder1/subfolder1", "folder1/subfolder2", "folder2/subfoler1" ] }
等等。
但是,我已经尝试过使用以下方法为Maven存储库执行此操作:curl -kssL -H "X-JFrog-Art-Api:ApiKeyHere" "https://artifactory.service.company:443/artifactory/api/storage/maven-repo/com/company/etc/etc"
但是输出是这样的:
{
"repo" : "maven-repo",
"path" : "/com/company/etc/etc",
"created" : "2019-05-21T01:00:37.173+10:00",
"createdBy" : "admin",
"lastModified" : "2019-05-21T01:00:37.173+10:00",
"modifiedBy" : "admin",
"lastUpdated" : "2019-05-21T01:00:37.173+10:00",
"children" : [ {
"uri" : "/folder1",
"folder" : true
}, {
"uri" : "/foler2",
"folder" : true
}, {
"uri" : "/folder3",
"folder" : true
} ], "uri" : "https://artifactory.service.company/artifactory/api/storage/maven-repo/com/company/etc/etc"
}
可以看出,该命令仅返回比 curl 的文件夹深1级的文件夹,而不是Docker存储库中列出了每个文件夹及其子文件夹的文件夹。如果我尝试向Maven curl命令添加类似于Docker repo命令的某种形式的/_catalog
,它将返回404。只是想知道是否有一种方法可以使输出类似于Docker命令吗?
最佳答案
查看Artifactory List Files REST API调用。我认为这可以满足您的要求。
它具有许多可以帮助您控制输出的参数。与jq
结合使用,您将拥有一个很棒的列表工具。
另一个选项是JFrog CLI,它具有Search Files选项。
关于docker - 如何通过cURL列出Artifactory上Maven存储库中的所有子目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62630612/