2012-04-14 9 views
6

これらの作業項目(およびリンクされたチェンジセット)は、エラーが発生することがよくあります。 チームコードレビューの候補者であり、より注意を払う必要があります。あまりにも多くのチェンジセットを使用して作業項目を照会する方法

私はWork Item Query Language and Client Object ModelWIQL syntax for Link Queryをチェックしましたが、これらの作業項目(チェンジセットの数を含む)を効果的に取得することはできません。

このようなクエリを行う方法はありますか(デモンストレーションのためのWIQL、SQL構文でなければなりません)。

SELECT [Source].[System.Id], COUNT(1) AS Changesets FROM WorkItemLinks 
WHERE [Source].[System.WorkItemType] = 'Bug' 
    AND [System.Links.LinkType] = 'Changeset' 
GROUP BY [Source].[System.Id] 
HAVING Changesets > 5 

または、カウントを取得するために各作業項目を読み取る必要がない、APIを使用する効率的な方法がありますか?

または、データベース上で直接SQLクエリを実行することで達成できましたか(like this)?

デフォルトでは(VS IDEまたはAPIから)サポートされているCurrentRelatedLinkCount/ExternalLinkCount/HyperLinkCount/RelatedLinkCountなどのクエリフィールドを使用できますか?

答えて

0

テーブルのスキーマがないと難しいです。しかし、私はあなたがこれをやろうとしていると思います:

SELECT [Source].[System.Id], COUNT(1) AS Changesets FROM WorkItemLinks 
WHERE [Source].[System.WorkItemType] = 'Bug' 
    AND [System.Links.LinkType] = 'Changeset' 
GROUP BY [Source].[System.Id] 
HAVING COUNT(1) > 5 

私はそうですか?

+0

より良いSQLクエリです。しかし、COUNTはWIQLではサポートされていません。 –

0

レポートはこれを行います。レポートビルダはSQLをサポートしています。

0

SQL Server Analysis Servicesがインストールされている場合は、関係をクエリできます。ここでは、Excelでそれを行う方法です:ExcelでTfs_Analysisキューブへ

  1. 接続(データ - >その他のソース - >分析サービス)
  2. 、ワークアイテムチェンジフィールドを選択のためのルックは、バージョン管理チェンジ寸法、および作業項目ディメンションのチェンジセットID
  3. ルックを選択し、これを使用すると、作業項目とチェンジの間の関係を照会することができますID

を選択します。 RowフィールドとColumnフィールドとして表示し、各行の小計を取得すると、ワークアイテムごとのチェンジセットカウント(チェンジセットごとのワークアイテム数)が表示されます。

しかし、TFSの非常に大きなプロジェクトでこのクエリを実行するのは非常に高価になる可能性があるので、小さな範囲の変更セットと小さな範囲の作業項目に対して行う必要があります。これを行うには、チェンジセットの日付をフィルターするにはDateディメンションを使用する必要がありますが、作業項目の日付をフィルターするには、作業項目フィールドの1つ(作成日、変更日など)を使用する必要があります。

おそらくOLAPキューブを変更して、この情報をファクト・テーブルに入れて、ETLプロセスをウェアハウスから変更することができます。その場合、チェンジセット・カウントを照会できるだけです。

3

チェンジセットリンク用のExternalLinkCountを使用できます。 enter image description here

関連する問題