在通过API创建新的工作项时,无法获取TFS for AssignedTo字段中的有效用户列表(Cannot get a list of valid users in TFS for AssignedTo field while creating new Workitems via API)
您好我正在尝试通过TFS API创建新的工作项,这是我在下面使用的方法,以获取可以分配工作项的有效用户列表。 不知何故,它在validUserSids行上给了我一个空引用异常。 谁知道这里有什么问题?
private string[] TFSUsers(string server) { // Get a Reference to Team Foundation Server. TeamFoundationServer tfs = tfsdata.GetTFS(server); // Get a reference to Group Security Service. IGroupSecurityService gss = (IGroupSecurityService)tfs.GetService(typeof(IGroupSecurityService)); // Resolve to SIDs Identity validUserSids = gss.ReadIdentity(SearchFactor.AccountName, "TFS Valid Users", QueryMembership.Expanded); // Resolve to actual users Identity[] validUsers = gss.ReadIdentities(SearchFactor.Sid, validUserSids.Members, QueryMembership.None); List<string> Users = new List<string>(); foreach (Identity user in validUsers) { Users.Add(user.DisplayName); } return Users.ToArray(); }Hi I am trying to create new workitems via the TFS API and this is the method I have used below to get a list of valid users who can be assigned workitems. Somehow, it gives me a null reference exception on validUserSids line. Anyone know what's wrong here?
private string[] TFSUsers(string server) { // Get a Reference to Team Foundation Server. TeamFoundationServer tfs = tfsdata.GetTFS(server); // Get a reference to Group Security Service. IGroupSecurityService gss = (IGroupSecurityService)tfs.GetService(typeof(IGroupSecurityService)); // Resolve to SIDs Identity validUserSids = gss.ReadIdentity(SearchFactor.AccountName, "TFS Valid Users", QueryMembership.Expanded); // Resolve to actual users Identity[] validUsers = gss.ReadIdentities(SearchFactor.Sid, validUserSids.Members, QueryMembership.None); List<string> Users = new List<string>(); foreach (Identity user in validUsers) { Users.Add(user.DisplayName); } return Users.ToArray(); }最满意答案
以下是如何获取TFS中的用户列表:
var tfs = TeamFoundationServerFactory.GetServer("http://vstspioneer:8080/tfs/VSTSDF"); var workItemStore = (WorkItemStore)tfs.GetService(typeof(WorkItemStore)); var allowedValues = workItemStore.FieldDefinitions[CoreField.AssignedTo].AllowedValues; foreach (String value in allowedValues) { Console.WriteLine(value); }Here's how you would get the list of users in TFS:
var tfs = TeamFoundationServerFactory.GetServer("http://vstspioneer:8080/tfs/VSTSDF"); var workItemStore = (WorkItemStore)tfs.GetService(typeof(WorkItemStore)); var allowedValues = workItemStore.FieldDefinitions[CoreField.AssignedTo].AllowedValues; foreach (String value in allowedValues) { Console.WriteLine(value); }更多推荐
发布评论