使用Azure Devops REST API,我想知道我是否有权为特定分支做出贡献,我发现请求知道我是否有权限,但它仅适用于存储库,但不适用于分支...
如果无法获得特定分支的权限,我想获取用户的角色,例如我可以创建一个具有我想要的权限的角色,并询问用户是否有这个角色。
我试过这个:
2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87/4 是权限“contribute”,此请求有效,但它忽略 refs/heads/Branch 部分,没有此部分,请求返回相同的:存储库权限而不是分支权限。 但我们可以使用 Azure Devops 来管理分支权限。
也许令牌写错了,但我没有在微软文档中找到它的任何示例。
实际上你正在以正确的方式检查,其余的API在我这边工作:
https://dev.azure.com/{organization}/_apis/permissions/2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87/4?tokens=repoV2/{idProject}/{idRepos}/refs/heads/{Branch}&api-version=7.0
请仔细检查
token
格式repoV2/{idProject}/{idRepos}/refs/heads/{Branch}
,对于{branch}
名称,请don't
使用真实的分支名称,如main、test,但应该是id
。
您可以从rest api获取令牌访问控制列表-查询,注意分支id:
https://dev.azure.com/{org}/_apis/accesscontrollists/2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87?api-version=7.1-preview.1
实际上,您可以找到
deny:4
的 target user
,这意味着它 doesn't
在分支上拥有贡献权限。
同样在上面的
permission
rest api(id为分支名称)中,它也正确返回false。