gpt4 book ai didi

.net - 使用 TFS API 在单个查询中检索工作项及其链接的工作项

转载 作者:行者123 更新时间:2023-12-04 01:32:39 25 4
gpt4 key购买 nike

有谁知道是否可以检索工作项列表及其链接的工作项 使用他们的 TFS API Web 服务从 TFS 的一次旅行中?

目前,我们不得不为第一次调用期间所做的每个工作项进行第二次调用,并且引入了性能问题。

如果这不可能,有没有办法在不检索链接的工作项的情况下查看它们的类型(例如,查看它是任务还是问题)?

最佳答案

article您在回答中所指的是使用 WIQL 来做您所追求的事情的方法。 .当然,这不是一个糟糕的选择。在我看来更好的另一种方法是简单地以图形方式生成查询,从而产生您想要的结果。您可能需要一个简单的“工作项和直接链接”:enter image description here保存后,您将能够:

  • 在 VS & Team Web Access 中打开查询
  • 将查询与 Excel 联系起来并在 Excel 中处理 WI
  • 使用 TFS-API 捕获查询结果。

  • 对于后一部分,假设您的查询名为“MyLinkedQuery”并且它位于 TeamProject“MyProj”的“Team Queries”下,您可以执行以下操作:
    using System;
    using Microsoft.TeamFoundation.Client;
    using Microsoft.TeamFoundation.WorkItemTracking.Client;

    namespace LinkedQueryResults
    {
    class Program
    {
    static void Main()
    {
    TfsTeamProjectCollection teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://TFSURL"));

    var workItemStore = (WorkItemStore)teamProjectCollection.GetService(typeof(WorkItemStore));

    var project = workItemStore.Projects["MyProj"];
    QueryHierarchy queryHierarchy = project.QueryHierarchy;
    var queryFolder = queryHierarchy as QueryFolder;
    QueryItem queryItem = queryFolder["Team Queries"];
    queryFolder = queryItem as QueryFolder;

    if (queryFolder != null)
    {
    var myQuery = queryFolder["MyLinkedQuery"] as QueryDefinition;
    if (myQuery != null)
    {
    var wiCollection = workItemStore.Query(myQuery.QueryText);
    foreach (WorkItem workItem in wiCollection)
    {
    Console.WriteLine(workItem.Title);
    }
    }
    }
    }
    }
    }

    关于.net - 使用 TFS API 在单个查询中检索工作项及其链接的工作项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10748412/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com