如何通过 cURL 列出 Artifactory 上 Maven 存储库中的所有子目录?
How to list all subdirectories from a Maven repository on Artifactory via cURL?
所以我在 Artifactory 上有一个 docker 存储库,它使用以下命令列出 url 中的所有文件夹和子文件夹:
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"
}
可以看出,此命令仅 returns 文件夹比 curled 的文件夹深 1 级,而 Docker 存储库的文件夹列出了每个文件夹及其子文件夹.如果我尝试将某种形式的 /_catalog
添加到 Maven curl 命令,类似于 Docker repo it returns a 404 的命令。只是想知道是否有一种使输出类似于 Docker 命令的方法?
查看 Artifactory List Files REST API 调用。我认为这满足了您的要求。
它有很多参数可以帮助你控制输出。结合 jq
,你就有了一个很好的上市工具。
另一个选项是 JFrog CLI, which has a Search Files 选项。
所以我在 Artifactory 上有一个 docker 存储库,它使用以下命令列出 url 中的所有文件夹和子文件夹:
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"
}
可以看出,此命令仅 returns 文件夹比 curled 的文件夹深 1 级,而 Docker 存储库的文件夹列出了每个文件夹及其子文件夹.如果我尝试将某种形式的 /_catalog
添加到 Maven curl 命令,类似于 Docker repo it returns a 404 的命令。只是想知道是否有一种使输出类似于 Docker 命令的方法?
查看 Artifactory List Files REST API 调用。我认为这满足了您的要求。
它有很多参数可以帮助你控制输出。结合 jq
,你就有了一个很好的上市工具。
另一个选项是 JFrog CLI, which has a Search Files 选项。