我正在尝试将一个AAD组添加到Azure DevOps项目团队。研究表明,可以通过以下REST URL完成此操作:
PUT https://vssps.dev.azure.com/{organization}/_apis/graph/memberships/{subjectDescriptor}/{containerDescriptor}?api-version=6.0-preview.1
我可以为团队获取containerDescriptor。但是我有一个问题是如何检索要在上述URL中使用的AAD组subjectDescriptor?它以“ aadgp”开头。
预先感谢, 杰克
答案 0 :(得分:0)
您可以尝试使用Groups - List API
GET https://vssps.dev.azure.com/{organization}/_apis/graph/groups?api-version=6.0-preview.1
它获得当前范围内的所有组的列表(通常是组织或帐户)。
可选参数用于过滤返回的结果。返回的结果没有确定的顺序。
由于组列表可能很大,因此结果将在组页面中返回。如果结果多于单个页面无法返回的结果,则结果集将包含用于检索下一组结果的延续令牌。
如果上述方法不起作用,则还可以使用Web门户将AAD添加到Azure DevOps组/团队,然后使用F12跟踪网络会话并检查API详细信息。
答案 1 :(得分:0)
好..让它正常工作
分别获取Azure DevOps组的组描述符,然后在下面使用它
$groupDescriptor = "vssgp.blahblahblah"
$uriAddGroupToTeam = "https://vssps.dev.azure.com/$($OrganizationName)/_apis/graph/groups?groupDescriptors=$($groupDescriptor)&api-version=6.0-preview.1"
$groupConfig = @{"originId"= "{Get Group GUID from AAD"} | ConvertTo-Json -Depth 5
Invoke-RestMethod -Uri $uriAddGroupToTeam -Method Post -Headers $AzureDevOpsAuthenicationHeader -Body $groupConfig -ContentType "application/json"
谢谢 杰克。