在 TFS 2010 中,我相信您可以通过在拨打电话时模拟您感兴趣的用户来做到这一点。
TFS 2010 API 允许(适当授权的)应用程序“模拟”您想要的任何有效用户并以该用户的身份采取行动。这是“授权”模拟——您没有以另一个用户身份进行身份验证,因此没有密码输入,但您“代表”另一个用户采取行动。执行此操作需要特定权限,因此您的应用程序需要以具有“代表其他用户发出请求”权限的用户身份实际运行。
完成后,代码非常简单。您从 TPC 中提取所需的身份,然后在不同的上下文中创建第二个“模拟”身份,并将该第二个上下文用于您的实际工作:
var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("some URI"));
var identityService = tfs.GetService<IIdentityManagementService>();
var identity = identity = identityService.ReadIdentity(
IdentitySearchFactor.AccountName,
"someuser",
MembershipQuery.None,
ReadIdentityOptions.None);
var userTfs = new TfsTeamProjectCollection(tfs.Uri, identity.Descriptor);
您执行的任何操作都userTfs
将像指定的用户名一样执行;这允许您代表其他用户查询项目、队列构建等。