VSTS列出用户参与项目

时间:2017-01-10 11:12:18

标签: admin azure-devops

我是公司VSTS帐户的管理员。有时,我需要映射用户和项目,即列出特定用户所属的项目。徒劳无功,我查看了许多VSTS的角落和缝隙,并搜索了在线文档。我很感激任何建议。

2 个答案:

答案 0 :(得分:1)

如果您愿意利用VSTS REST APIs,您可以:

答案 1 :(得分:0)

另一种方式是您可以通过客户端SDK实现这一目标。

有一个简单的示例可以为特定用户获取您可以参考的团队:

TfsTeamProjectCollection collection = new TfsTeamProjectCollection(new Uri("[collection url]"));

            collection.EnsureAuthenticated();

           var structureService= collection.GetService<ICommonStructureService>();
            var teamprojects = structureService.ListAllProjects();
            TfsTeamService teamService = collection.GetService<TfsTeamService>();
            UserInfo user = new UserInfo();
            foreach (var tp in teamprojects)
            {

                var teamList = teamService.QueryTeams(tp.Uri);
                foreach(var t in teamList)
                {
                    var userIdentity = t.GetMembers(collection, MembershipQuery.Expanded).Where(ti=>ti.UniqueName.Equals("[user accunt, e.g. domain\\test]",StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                    if(userIdentity!=null)
                    {
                        user.Teams.Add(t.Name);
                        user.Alias = userIdentity.UniqueName;
                        user.DisplayName = userIdentity.DisplayName;
                    }
                }
            }
            Console.WriteLine(user);
            Console.Read();