Azure DevOps API如何获取仓库所有非文件夹叶子节点?
获取Azure DevOps仓库所有叶子节点的API方案
可以通过Azure DevOps的Items List API直接获取所有层级的仓库内容,再筛选出叶子节点(文件),无需递归遍历文件夹,具体操作如下:
- 关键参数调整:调用API时必须指定
recursionLevel=Full,这个参数会让API返回仓库根目录下所有层级的内容,而不是仅返回一级目录。你之前只得到一个结果,是因为默认recursionLevel为None,仅返回根目录本身。 - 筛选叶子节点:仓库中的文件对应
gitObjectType=blob,文件夹对应gitObjectType=tree。你可以在API请求中通过$filter参数直接过滤,或者在返回结果中筛选blob类型的条目。
示例请求结构
GET https://dev.azure.com/{组织名}/{项目名}/_apis/git/repositories/{仓库ID}/items?path=/&recursionLevel=Full&$filter=gitObjectType eq 'blob'&api-version=7.1-preview.1
说明:
path=/指定从仓库根目录开始查询recursionLevel=Full开启全层级递归$filter=gitObjectType eq 'blob'直接过滤出所有文件(叶子节点)api-version使用最新预览版或稳定版均可,确保兼容性
内容的提问来源于stack exchange,提问作者sqlcaveman
相关产品推荐
相关产品推荐

