我想以编程方式在特定团队(在特定项目下)添加用户/成员(已经拥有VSTS帐户)。从门户网站我们可以做同样的事情。但是,我正在寻找一些可以为我做同样的REST服务。
在下面的文档来自Microsoft,我们得到了几个与团队相关的api。但它没有提供任何与“如何将现有VSTS帐户持有者”添加到团队相关的内容'
https://www.visualstudio.com/en-us/docs/integrate/api/tfs/teams
提前致谢。
答案 0 :(得分:0)
目前,没有这样的REST API可以将成员添加到团队项目中。 但是有一个用户语音add rest api for adding members to a team建议为REST API添加此功能,您可以投票和跟进。
一旦REST API可用,您就可以通过编程方式使用REST API将成员添加到团队中。
您还可以在评论部分中引用用户语音下的相关代码(将成员添加到默认团队的示例):
public Task<TeamProject> GetProjectAsync(string projectId)
{
var projectClient = this.Connection.GetClient<ProjectHttpClient>();
return projectClient.GetProject(projectId);
}
public async Task GrantProjectAccessAsync(string projectId, string email)
{
var project = await this.GetProjectAsync(projectId);
var client = this.Connection.GetClient<IdentityHttpClient>();
var identities = await client.ReadIdentitiesAsync(Microsoft.VisualStudio.Services.Identity.IdentitySearchFilter.MailAddress, email);
if (!identities.Any() || identities.Count > 1)
{
throw new InvalidOperationException("User not found or could not get an exact match based on email");
}
var userIdentity = identities.Single();
var groupIdentity = await client.ReadIdentityAsync(project.DefaultTeam.Id);
await client.AddMemberToGroupAsync(
groupIdentity.Descriptor,
userIdentity.Id
);
}
要为其他团队添加成员,您可以使用teamClient.GetTeamsAsync方法获取项目团队,然后通过匹配给定的团队名称来获取团队ID。