使用 Azure Devops Rest API:
首先,您需要获取组的标识符。这可以通过Identities
api 来完成。
如果您有您的群组唯一 ID:
GET https://vssps.dev.azure.com/fabrikam/_apis/Identities/{id}?queryMembership=None
然后从 json 响应中获取描述符.Descriptor.Identifier
。
如果您没有组 ID,但有显示名称:
GET https://vssps.dev.azure.com/fabrikam/_apis/Identities?searchFactor=DisplayName&factorValue={display name url encoded}&options=None&queryMembership=None
然后从 json 响应中获取描述符[0].Descriptor.Identifier
。
获取您的存储库 ID 和项目 ID(这比组标识符容易得多,所以我不会详细说明),然后您就拥有了所有必需的数据。构建您的请求正文:
{
"token":"repoV2/{projectId}/{repoId}/",
"merge":true,
"accessControlEntries":[
{
"descriptor":"Microsoft.TeamFoundation.Identity;{groupIdentifier}",
"allow":2,
"deny":0,
"extendedInfo":{
"effectiveAllow":2,
"effectiveDeny":0,
"inheritedAllow":2,
"inheritedDeny":0
}
}
]
}
和
POST https://dev.azure.com/fabrikam/_apis/AccessControlEntries/2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87
注意 url 中的 id 是硬编码的,因为它是一个常量。但是您也可以从响应中获取
GET https://dev.azure.com/fabrikam/_apis/securitynamespaces