如何使用SDK或Web Api将管理员添加到Azure DevOps中的团队?

问题描述

我尝试使用SDK创建一个团队。它创建时没有任何成员和管理员

WebApiTeam team = new WebApiTeam
        {
            Name = "New Team",ProjectId = project.Id
        };

然后打电话

public virtual Task<WebApiTeam> CreateTeamAsync(WebApiTeam team,string projectId,object userState = null,CancellationToken cancellationToken = default);

结果,我有一个名为“新团队”的团队,没有任何成员和管理员。 然后我将成员添加到团队中:

public Task<bool> AddMemberToGroupAsync(IdentityDescriptor containerId,Guid memberId,CancellationToken cancellationToken = default);
containerId = myNewTeam.id;
memberId=(user || group).id;

但是如何将管理员添加到团队idk中。 我发现,当我们手动执行此操作时,它会调用

http://{baseUrl}/tfs/{project}/{teamId}/_api/_identity/AddTeamAdmins?__v=5

我尝试使用邮递员来称呼它,但我无法授权。有谁知道我该如何解决这个问题?

解决方法

如果使用的是tfs,则需要注意, Azure DevOps Server 2020 和Azure DevOps Services可使用Azure DevOps命令行界面(CLI)。声明为here

我尝试使用邮递员打电话给我,但我无法授权

您需要使用具有全部范围的PAT进行认证。

enter image description here

这是我的考试:

enter image description here

,

您可以通过为用户分配对团队的安全名称空间的正确权限来做到这一点。这是一个将两个用户作为管理员添加到新团队的示例。

$myOrg = "https://dev.azure.com/myOrg/"
$newTeam = "My New Team"
$newAdmin = "user1@me.com"
$myProject = "My Project"

az login

$team = az devops team create --name $newTeam --org $myOrg --project $myProject | ConvertFrom-Json

$user = az devops user show --user $newAdmin  --organization $myOrg | ConvertFrom-Json
az devops security group membership add --group-id $team.identity.subjectDescriptor --member-id $user.user.descriptor --org $myOrg
az devops security permission update --id "5a27515b-ccd7-42c9-84f1-54c998f03866" --subject $user.user.principalName --token "$($team.projectId)\$($team.id)" --allow-bit 31  --org $myOrg