如何知道我是否可以使用 Azure Rest Api 为分支做出贡献?

问题描述 投票:0回答:1

使用Azure Devops REST API,我想知道我是否有权为特定分支做出贡献,我发现请求知道我是否有权限,但它仅适用于存储库,但不适用于分支...

如果无法获得特定分支的权限,我想获取用户的角色,例如我可以创建一个具有我想要的权限的角色,并询问用户是否有这个角色。

我试过这个:

获取https://dev.azure.com/{organization}/_apis/permissions/2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87/4?tokens=repoV2/{idProject}/{idRepos}/refs/heads/{分支}&api-version=7.0

2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87/4 是权限“contribute”,此请求有效,但它忽略 refs/heads/Branch 部分,没有此部分,请求返回相同的:存储库权限而不是分支权限。 但我们可以使用 Azure Devops 来管理分支权限。

也许令牌写错了,但我没有在微软文档中找到它的任何示例。

git azure-devops permissions branch azure-devops-rest-api
1个回答
0
投票

实际上你正在以正确的方式检查,其余的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

enter image description here

实际上,您可以找到

deny:4
target user
,这意味着它
doesn't
在分支上拥有贡献权限。

同样在上面的

permission
rest api(id为分支名称)中,它也正确返回false。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.