2017-12-06 5 views
0

以下のフラット・クエリーを使用して、引数として渡された作業項目IDの配列のバグの詳細を取得しています。 以下のクエリは完全に正常ですが、 "TF26180:このIDを持つ項目が入力配列に既に存在しています" 理由は、ID配列に重複IDがあります。この小切手を無視する方法はありますか?TF26180:このIDの項目は入力配列にすでに存在しています

    var flatQuery = new Query(_store, detailsWiql.ToString(), ids); 
       WorkItemCollection workitems = flatQuery.RunQuery(); 

       foreach (WorkItem wi in workitems) 
       { 

        WorkItemType worktype = wi.Type; 
        worktypename = worktype.Name; 
    } 

私たちは無視したりすることにより、このチェックをパスことができるとは思わない、事前

答えて

0

におかげで、例外がMicrosoft.TeamFoundation.WorkItemTracking.Commonアセンブリで定義されています。 https://www.powershellgallery.com/packages/PSPlus.Tfs/0.0.1.104/Content/Microsoft.TeamFoundation.WorkItemTracking.Common.xml

ここでは、作業項目が重複しているのはなぜですか? 一般に、作業項目IDはTFSサーバー内で一意です。 重複した作業項目を最初に削除し、必要に応じてバックアップしてから、新しい作業項目を作成して関連する作業/機能を追跡することをお勧めします。


UPDATE:回避策として

、あなたが最初のIDを取得するために、REST APIとWIQLクエリを使用して試すことができ、A flat queryを参照してください。ループ内にIDを持つ作業項目の詳細を表示するコードを書く。 Get a workitem with REST APIを参照してください。

さらに、Wiql Editorで試してみると、基本的な作業項目情報を直接照会できます。

+0

こんにちは、ありがとう私の要件を満たす代替方法はありますか? –

+0

@Anil Kumarまず、作業項目IDを取得してから、REST APIを試して詳細を取得できます。 [作業項目](https://www.visualstudio.com/en-us/docs/integrate/api/wit/work-items#by-ids) –

+0

こんにちはAndy、あなたの入力をありがとう。私はそれが完璧に動作するAPIを試してみましたが、それはworkitemsの非同期を取得することです、私はそれを得るためには、静的にvarを使用することができますflatQuery = new Query(_store、detailsWiql.ToString()、ids); WorkItemCollection workitems = flatQuery.RunQuery(); 休憩APIを使用して作業項目を同期的に取得する方法はありますか –

関連する問題