如何获取 TFS WIQL 项目的所有用户以及团队迭代?

2023-12-22

我想让所有用户在项目中进行迭代。 假设项目“Precient”有 9 个不同的用户,进行了 20 次迭代,所以我希望不同的用户具有项目中的所有迭代WIQL C#.这与问题有关。WIQL 查询获取项目中的所有团队和用户? https://stackoverflow.com/questions/49092830/wiql-query-to-get-all-the-team-and-the-users-in-a-project
但并不能完全帮助我


您可以通过 REST API 或 Net API 获取该信息。这是 Net API 的示例。

  1. 您可以获取“项目有效用户”组中的所有用户
  2. 您可以从项目根迭代中获取所有迭代。

    using Microsoft.TeamFoundation.Client;
    using Microsoft.TeamFoundation.Framework.Client;
    using Microsoft.TeamFoundation.Framework.Common;
    using Microsoft.TeamFoundation.Server;
    using Microsoft.TeamFoundation.WorkItemTracking.Client;
    using System;
    using System.Collections.Generic;
    
    namespace GetUserіAndItearions
    {
        class Program
        {
            public class Iteration
            {
                public string Path;
                public DateTime DateFrom;
                public DateTime DateTo;
            }
    
            static void Main(string[] args)
            {
                string _teamProject = "Your_Project_Name";
    
                try
                {
                    TfsTeamProjectCollection _tpc = new TfsTeamProjectCollection(new Uri("http://your_server:8080/tfs/DefaultCollection"));
    
                    GetAllUsers(_tpc, _teamProject);
                    GetAllIterations(_tpc, _teamProject);
    
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Error: " + ex.Message);
                    Console.WriteLine(ex.StackTrace);
                }
            }
    
            private static void GetAllIterations(TfsTeamProjectCollection pTpc, string pProjectName)
            {
                List<Iteration> _its = new List<Iteration>();
                WorkItemStore _wistore = pTpc.GetService<WorkItemStore>();
    
                var _css = pTpc.GetService<ICommonStructureService4>();
    
    
                foreach (Node _node in _wistore.Projects[pProjectName].IterationRootNodes)
                    FillIterations(_css, _node, _its);
    
    
                Console.WriteLine("Iterations:");
                foreach (Iteration _it in _its) Console.WriteLine("{0}:{1}-{2}", _it.Path, 
                    (_it.DateFrom == DateTime.MinValue) ? "0" : _it.DateFrom.ToShortDateString(), (_it.DateTo== DateTime.MinValue) ? "0" : _it.DateTo.ToShortDateString());
            }
    
            private static void FillIterations(ICommonStructureService4 pCss, Node pNode, List<Iteration> pIts)
            {
                var _nodeInfo = pCss.GetNode(pNode.Uri.AbsoluteUri);
    
                pIts.Add(new Iteration { Path = _nodeInfo.Path,
                    DateFrom = (_nodeInfo.StartDate == null) ? DateTime.MinValue : (DateTime)_nodeInfo.StartDate,
                    DateTo = (_nodeInfo.FinishDate == null) ? DateTime.MinValue : (DateTime)_nodeInfo.FinishDate });
    
                if (pNode.HasChildNodes)
                    foreach (Node _node in pNode.ChildNodes)
                        FillIterations(pCss, _node, pIts);
            }
    
            private static void GetAllUsers(TfsTeamProjectCollection pTpc, string pProjectName)
            {
                List<string> listUsers = new List<string>();
    
                WorkItemStore _wistore = pTpc.GetService<WorkItemStore>();
                var _gss = pTpc.GetService<IIdentityManagementService>();
    
                var _teamProject = _wistore.Projects[pProjectName];
                string _validGroupName = "[" + pProjectName + "]\\Project Valid Users";
    
                TeamFoundationIdentity _group = _gss.ReadIdentity(IdentitySearchFactor.DisplayName, _validGroupName, MembershipQuery.Expanded, ReadIdentityOptions.ExtendedProperties);
    
                List<string> _memebersIds = new List<string>();
                foreach (var _member in _group.Members) _memebersIds.Add(_member.Identifier);
    
                var _members = _gss.ReadIdentities(IdentitySearchFactor.Identifier, _memebersIds.ToArray(), MembershipQuery.Expanded, ReadIdentityOptions.ExtendedProperties);
    
                foreach (var _member in _members) if (!_member[0].IsContainer) listUsers.Add(_member[0].DisplayName);
    
                Console.WriteLine("Users:");
                foreach (var _user in listUsers) Console.WriteLine("{0}", _user);
            }
    
        }
    }
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取 TFS WIQL 项目的所有用户以及团队迭代? 的相关文章

  • 如何捕获未发送到 stdout 的命令行文本?

    我在项目中使用 LAME 命令行 mp3 编码器 我希望能够看到某人正在使用什么版本 如果我只执行 LAME exe 而不带参数 我会得到 例如 C LAME gt LAME exe LAME 32 bits version 3 98 2
  • 以编程方式读取 SQL Server 查询计划建议的 SQL 特定执行的索引?

    如果我在 SSMS 中运行此命令 set showplan xml on GO exec some procedure arg1 arg2 arg3 GO set showplan xml off GO 我获得查询执行中涉及的完整调用堆栈的
  • 为什么pow函数比简单运算慢?

    从我的一个朋友那里 我听说 pow 函数比简单地将底数乘以它的指数的等价函数要慢 例如 据他介绍 include
  • 如何填充 ToolStripComboBox?

    我发现它很难将数据绑定到ToolStripComboBox 好像没有这个ValueMember and DisplayMember特性 怎么绑定呢 访问toolstripcombobox中包装的组合框并访问其ValueMember Disp
  • 如何使用 Castle Windsor 将对象注入到 WCF IErrorHandler 实现中?

    我正在使用 WCF 开发一组服务 该应用程序正在使用 Castle Windsor 进行依赖注入 我添加了一个IErrorHandler通过属性添加到服务的实现 到目前为止一切正常 这IErrorHandler对象 一个名为FaultHan
  • 查看 NuGet 包依赖关系层次结构

    有没有一种方法 文本或图形 来查看 NuGet 包之间的依赖关系层次结构 如果您使用的是新的 csproj 您可以在此处获取所有依赖项 在项目构建后 项目目录 obj project assets json
  • 对 std::vector 进行排序但忽略某个数字

    我有一个std vector
  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • 在Linux中,找不到框架“.NETFramework,Version=v4.5”的参考程序集

    我已经设置了 Visual studio 来在我的 Ubuntu 机器上编译 C 代码 我将工作区 我的代码加载到 VS 我可以看到以下错误 The reference assemblies for framework NETFramewo
  • 识别 Visual Studio 中的重载运算符 (c++)

    有没有办法使用 Visual Studio 快速直观地识别 C 中的重载运算符 在我看来 C 中的一大问题是不知道您正在使用的运算符是否已重载 Visual Studio 或某些第三方工具中是否有某些功能可以自动突出显示重载运算符或对重载运
  • IQueryable 单元或集成测试

    我有一个 Web api 并且公开了一个端点 如下所示 api 假期 name name 这是 Web api 的控制器 get 方法 public IQueryable
  • 在mysql连接字符串中添加应用程序名称/程序名称[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在寻找一种解决方案 在连接字符串中添加应用程序名称或程序名称 以便它在 MySQL Workbench 中的 客户端连接 下可见 SQL
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件
  • C++ new * char 不为空

    我有一个问题 我在 ASIO 中开发服务器 数据包采用尖头字符 当我创建新字符时 例如char buffer new char 128 我必须手动将其清理为空 By for int i 0 i lt 128 i buffer i 0x00
  • String.Empty 与 "" [重复]

    这个问题在这里已经有答案了 可能的重复 String Empty 和 有什么区别 https stackoverflow com questions 151472 what is the difference between string
  • OpenGL:仅获取模板缓冲区而没有深度缓冲区?

    我想获取一个模板缓冲区 但如果可能的话 不要承受附加深度缓冲区的开销 因为我不会使用它 我发现的大多数资源表明 虽然模板缓冲区是可选的 例如 排除它以利于获得更高的深度缓冲区精度 但我还没有看到任何请求并成功获取仅 8 位模板缓冲区的代码
  • 将数组作为参数传递

    如果我们修改作为方法内参数传递的数组的内容 则修改是在参数的副本而不是原始参数上完成的 因此结果不可见 当我们调用具有引用类型参数的方法时 会发生什么过程 这是我想问的代码示例 using System namespace Value Re
  • 如何减少具有多个单元的 PdfPTable 的内存消耗

    我正在使用 ITextSharp 创建一个 PDF 它由单个 PdfTable 组成 不幸的是 对于特定的数据集 由于创建了大量 PdfPCell 我遇到了内存不足异常 我已经分析了内存使用情况 我有近百万个单元格的 1 2 在这种情况下有
  • Objective-C / C 给出枚举默认值

    我在某处读到过关于给枚举默认值的内容 如下所示 typedef enum MarketNavigationTypeNone 0 MarketNavigationTypeHeirachy 1 MarketNavigationTypeMarke
  • 灵气序列解析问题

    我在使用 Spirit Qi 2 4 编写解析器时遇到一些问题 我有一系列键值对以以下格式解析

随机推荐

  • 包“@angular/cli”不是依赖项

    当我尝试运行命令时出现以下错误 ng update angular cli angular core allow dirty Repository is not clean Update changes will be mixed with
  • 如何对 BSD 套接字进行单元测试 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在使用 BSD 套接字在 Ubuntu 中编写基于服务器 客户端的 C 应用程序 我使用 Google C 测试框架作为我的单元测
  • Mailjet Vars 空白数组引发错误

    array low price low stock goods gt 在我的邮件模板中 for item in var low price low stock goods tr td item good name td td item va
  • MySQL:您的 SQL 语法错误 |限制 0, 25

    我不明白这个错误 请大家帮助我 为什么我收到这个错误 我的查询有问题吗 这是错误 1064 你的 SQL 语法有错误 检查与您的 MySQL 服务器版本相对应的手册 了解要使用的正确语法 第 7 行 LIMIT 0 25 附近 这是我的查询
  • 如何将 Pandas DF 中的列表转换为字符串?

    我有一个熊猫数据框 其中一列包含一个列表 我希望该列是单个字符串 例如我的清单 one two three 应该简单地是 one two three df col df col astype str apply lambda x join
  • 使用 React js Modal 的动态内容

    我想使用 React js 模态获取动态内容我正在使用包react responsive modal 首先我通过地图渲染所有帖子 现在我希望当我单击单个帖子时 模式应该弹出并仅显示该特定帖子的标题和正文 现在我不知道如何在模态中获取单个帖子
  • 有没有办法将 C# 序列化对象读取到 Python 中?

    我有一个包含 C 序列化对象的二进制文件 我可以用 python 读取内容 但得到的结果类似于 T x00 x00 x00Test Jobs GenerateJobRequest POC Server xca x02 xa2 x02 t x
  • 去虚拟化非最终方法

    假设我有一个如下所示的类设置 class A public virtual void foo printf default implementation n class B public A public void foo override
  • CNContactViewController 取消按钮不起作用

    我正在尝试使用内置的新联系人 UI 但使用取消按钮时出现意外行为 下面的代码可以运行并调用新的联系人屏幕 但取消按钮只会清除屏幕条目 而不会从新的联系人屏幕中取消 在内置联系人应用程序中 点击取消将返回到联系人列表屏幕 我想要取消按钮来关闭
  • CSS将一个正方形分成4个三角形

    我目前正在尝试将一个正方形变成 4 个大小相等且具有悬停事件的三角形 我正在创建这样的三角形 right left top bottom position relative width 26px right before position
  • 升级到 Django 1.11 后,append_slash 不再起作用

    在 Django 1 9 和 Python 3 4 中 默认的 APPEND SLASH 工作正常 即我可以输入 localhost 8000 ideatree videos 并且会添加尾部斜杠 升级到 Django 1 11 和 Pyth
  • Java/zip:为什么 .jar 文件的创建是不确定的?

    我从未真正研究过它 但现在我意识到我无法轻松构建两个相同的 jar 文件 我的意思是 如果我构建两次 而不更改任何内容 我会得到完全相同的大小 但校验和不同 jar 所以我很快进行了一些测试 基本上解压 排序 n k 5然后diff ing
  • mutate_impl(.data,dots)评估错误:找不到对象

    我有一些工作代码 我必须更新 R 并再次安装所有软件包 当我尝试再次运行代码时遇到了困难 这是一个玩具示例 工作代码 get cyl column mtcars gt dplyr select cyl add 1 to all numeri
  • 将 div 居中对齐

    我想漂浮一个div到中心 是否可以 text align center不能在 IE 中工作 本身没有浮动到中心 如果要将块元素置于另一个块元素的中心 请执行以下操作 div div Stuff to center div div with
  • Typescript:如何在 React 中添加历史对象的类型检查?

    我有以下代码 它接收历史对象作为道具 const ChildComponent history gt div div div div
  • PHP echo SQL 计数[重复]

    这个问题在这里已经有答案了 好的 所以我遇到了问题 我似乎无法在 PHP 中成功回显 SQL 计数 SQL SELECT TableA C COUNT FROM TableA JOIN TableB ON TableA C TableB D
  • 32位机器如何处理大于2^32的数字?

    I am trying to understand how calculations involving numbers greater than 232 happen on a 32 bit machine C code cat size
  • 部分类调试

    我已经为我的 xsd 自动生成的类创建了一个部分类 问题在于调试这个部分类 无法识别断点或者编译器不会在分部类中设置的断点处中断 Autogenerated class by xsd exe public partial class Cla
  • 如何使用 Rust 合并两个 JSON 对象?

    我有两个 JSON 文件 JSON 1 title This is a title person firstName John lastName Doe cities london paris JSON 2 title This is an
  • 如何获取 TFS WIQL 项目的所有用户以及团队迭代?

    我想让所有用户在项目中进行迭代 假设项目 Precient 有 9 个不同的用户 进行了 20 次迭代 所以我希望不同的用户具有项目中的所有迭代WIQL C 这与问题有关 WIQL 查询获取项目中的所有团队和用户 https stackov