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

如何通过REST API获取Azure DevOps特定Git分支的用户权限?

针对Azure DevOps Git分支查询权限及生成权限报告的方法

分支级权限查询的正确API用法

你之前调用的权限API默认返回全局权限,核心原因是缺少**分支对应的安全令牌(Security Token)**参数。要查询分支级权限,必须在API请求中指定该分支的token:

  1. 分支Security Token的构造规则
    Git分支的安全令牌格式固定为:
    repoV2/<项目ID>/<仓库ID>/refs/heads/<分支名>
    注意:分支名需要做URL编码,比如feature/my-branch要转成feature%2Fmy-branch。

  2. 带分支token的权限查询API
    将token作为参数传入原API,即可查询指定分支的权限(以Force Push权限为例,权限值128,Git权限命名空间ID为2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87):

GET https://dev.azure.com/{organization}/{project}/_apis/permissions/2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87/128?token=repoV2%2F<项目ID>%2F<仓库ID>%2Frefs%2Fheads%2F<编码后的分支名>&api-version=7.0

该请求会直接返回当前调用者在目标分支上的Force Push权限状态。

生成分支权限报告的方法

给Permissions Report API添加分支token参数,即可生成针对特定分支的权限报告:

GET https://dev.azure.com/{organization}/{project}/_apis/permissionsreport/2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87?token=repoV2%2F<项目ID>%2F<仓库ID>%2Frefs%2Fheads%2F<编码后的分支名>&api-version=7.0

返回结果会包含该分支下所有身份(用户、组)的权限分配详情,以及当前用户的有效权限汇总。

快速获取分支Security Token的技巧

如果不想手动构造token,可以先调用Git分支详情API获取分支元数据:

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repoId}/refs/heads/{branchName}?api-version=7.0

从返回结果的url字段中,可直接提取出类似repoV2/xxx/xxx/refs/heads/xxx的路径部分,URL编码后即可作为token使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 06:50:19