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

How add administrator to team in Azure DevOps using SDK or Web Api?

我尝试使用 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, object userState = null, CancellationToken cancellationToken = default);
containerId = myNewTeam.id;
memberId=(user || group).id;

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

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

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

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

$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

如果您使用的是 tfs,则需要注意 Azure DevOps 命令行界面 (CLI) 可用于 Azure DevOps Server 2020 和 Azure DevOps Services。这表示 here.

I try to call this using postman but I can't authorize

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

这是我的测试: