6

これらの作業項目 (およびリンクされた変更セット) は、多くの場合、エラーが発生しやすくなります。したがって、チームのコード レビューに適した候補であり、より注意を払う必要があります。

Work Item Query Language と Client Object ModelおよびLink Query の WIQL 構文を確認しましたが、これらの作業項目 (変更セットの数を含む) を効果的に取得できません。

このようにクエリを実行する方法はありますか (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クエリを直接実行することによってのみ達成できますか(このように)?

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

4

4 に答える 4

3

Changeset リンクには ExternalLinkCount を使用できます。 ここに画像の説明を入力

于 2014-11-04T12:30:07.063 に答える
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

私は正しいですか?

于 2012-04-14T16:43:17.373 に答える
0

レポートはこれを行います - Report Builder は SQL をサポートします。

于 2014-07-28T03:59:22.703 に答える
0

SQL Server Analysis Services がインストールされている場合は、リレーションシップを照会できます。Excelで行う方法は次のとおりです。

  1. Excel で Tfs_Analysis キューブに接続します (データ --> その他のソース --> Analysis Services)。
  2. Workitem Changeset フィールドを選択し、
  3. Version Control Changeset ディメンションを探し、Changeset ID を選択します。
  4. Work Item ディメンションを探し、ID を選択します

これにより、作業項目と変更セットの間の関係を照会できます。1 つを行フィールドとして表示し、もう 1 つを列フィールドとして表示し、各行の小計を取得すると、作業項目ごとの変更セット数 (および変更セットごとの作業項目数) が得られます。

ただし、TFS の非常に大きなプロジェクトでこのクエリを実行すると、法外なコストがかかる可能性があることに注意してください。そのため、変更セットの範囲が狭く、作業項目の範囲が狭い場合に実行する必要があります。これを行うには、変更セットの日付をフィルター処理するには、日付ディメンションを使用する必要があることに注意してください。一方、作業項目の日付をフィルター処理するには、作業項目フィールドの 1 つ (作成日、変更日など) を使用する必要があります。

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

于 2014-08-15T17:46:31.397 に答える