You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API获取JFrog Artifactory仓库及节点的所有子项列表

关于JFrog Artifactory API获取子项的问题解答

1. 如何通过API获取JFrog仓库中的所有子项列表?

你可以借助Artifactory的REST API轻松实现这个需求,核心是调用存储资源端点:

  • 基础请求逻辑:发送GET请求到https://<你的Artifactory域名>/artifactory/api/storage/<仓库密钥>,必须添加list=1参数来触发子项列表的返回。
  • 认证要求:请求需要带上身份认证,支持基本认证(用户名+密码)或者API密钥(用户名+API密钥)两种方式。

给你举个curl命令的实际例子:

curl -u your-username:your-password-or-api-key "https://your-artifactory-instance/artifactory/api/storage/your-repo-name?list=1"

返回的JSON响应里,children字段会包含该仓库下所有直接子项(文件夹和文件)的详细信息,每个子项会附带uri、folder(布尔值,标记是否为文件夹)等属性。

2. 是否可通过API获取某个节点的所有文件夹或子项?

当然可以,但要区分直接子项和递归子项两种场景:

场景1:仅获取节点N的直接子项

如果直接请求Node N的子项列表,只会返回它的直接子节点A,不会包含嵌套的B和C。请求格式如下:

curl -u your-username:your-api-key "https://your-artifactory-instance/artifactory/api/storage/your-repo-name/node-n?list=1"

场景2:获取节点N下所有层级的子项(包括A、B、C)

如果想要递归获取所有嵌套层级的子项,只需要在请求里添加deep=1参数。API会自动遍历Node N下的所有子节点,返回完整的子项列表:

curl -u your-username:your-api-key "https://your-artifactory-instance/artifactory/api/storage/your-repo-name/node-n?list=1&deep=1"

额外需求:仅获取所有文件夹子项

如果你只想要返回文件夹(排除文件类型的子项),可以再追加type=folder参数:

curl -u your-username:your-api-key "https://your-artifactory-instance/artifactory/api/storage/your-repo-name/node-n?list=1&deep=1&type=folder"

这样返回的children列表里就会包含A、B、C所有文件夹节点了。

内容的提问来源于stack exchange,提问作者raunak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:08:28