作業項目フィールドの使用

更新 : 2011 年 1 月

作業項目フィールドは、作業項目の種類のデータの追跡、クエリのフィルター条件の定義、およびレポートの生成に使用します。 コア システムのデータ フィールドを除き、追跡するすべてのデータ要素、ワークフローの定義に使用するデータ要素、作業項目の種類のフォームに表示するすべてのデータ要素は、作業項目フィールドとして定義する必要があります。 作業項目フィールドは、作業項目の種類の定義、またはグローバル ワークフロー内で定義できます。

作業項目フィールドは、チーム プロジェクト コレクションで保持されます。 フィールドを追加するには、次のいずれかの操作を実行します。

  • チーム プロジェクトを作成します。 作業項目の種類またはグローバル ワークフローの定義内で定義されたすべてのフィールドと、選択されたプロセス テンプレートに対して定義されたすべてのフィールドが作成されます。 詳細については、「作業項目フィールド (アジャイル)」または「作業項目フィールド (CMMI)」を参照してください。 コア システムのフィールドは、チーム プロジェクトに対して定義されている作業項目の種類ごとに自動的に定義されます。 これらのフィールドの一覧については、「システム フィールドおよび MSF のプロセス テンプレートで定義済みのフィールドの使用」を参照してください。

  • 作業項目の種類の定義をインポートします。 作業項目の種類の定義内で定義されたすべての新しいフィールドが、コレクションに追加されます。 詳細については、「すべての WITD XML 要素のリファレンス」を参照してください。

  • グローバル ワークフローの定義をインポートします。 グローバル ワークフロー内で定義されたすべての新しいフィールドが、コレクションに追加されます。 複数の作業項目の種類で共有する一連の作業項目フィールドを保持する場合は、グローバル ワークフローを定義します。 詳細については、「グローバル ワークフローのカスタマイズ」を参照してください。

  • プロジェクト コレクションを Project Web App (PWA) のインスタンスにマップします。 Visual Studio Team Foundation Server 2010 と Project Server の統合用 Feature Pack をインストールした後、Team Foundation の種々のコンポーネントをマップして統合の設定を行います。 コレクションをマップする場合に、Project Server フィールドのいくつかのフィールドをサポートするグローバル ワークフロー定義がインポートされます。 詳細については、「データを同期させるために追加された Project Server フィールド」を参照してください。

すべてのチーム プロジェクトに対する、すべての作業項目の種類とすべてのグローバル ワークフローで定義されたすべてのフィールドは、コレクションに対して定義されたすべてのフィールドを構成しています。 既存のフィールドの属性の変更、名前の変更、および削除を実行できます。 ただし、それらのフィールドに変更を加える場合は、多少の犠牲を払うことになります。 詳細については、「プロジェクトの追跡データ、フォーム、ワークフロー、その他のオブジェクトのカスタマイズ」を参照してください。

コレクションのフィールドを追加、またはカスタマイズするには、作業項目の種類またはグローバル ワークフローの定義の XML コンテンツを変更します。 各フィールドは、作業項目の種類またはグローバル ワークフローのいずれかの定義の FIELDS セクション内にある FIELD 要素を介して定義されます。 これらのファイルの構造と場所については、「すべての WITD XML 要素のリファレンス」と「グローバル ワークフローのカスタマイズ」を参照してください。

このトピックの内容

  • FIELD (定義) 構文構造

  • フィールドのデータ型

  • フィールドに割り当てられる reportable 属性

  • インデックス付きフィールド

  • FIELD (定義) 子要素

  • システム フィールドと定義済みフィールド

FIELD (定義) 構文構造

各 FIELD (定義) 要素には、表示名 (オプション) と必須の参照名があります。 参照名は、コレクション内で一意である必要があります。 詳細については、「作業項目トラッキング オブジェクトの名前付け規則」を参照してください。

重要

witadmin changefield コマンド ライン ツールを使用して、フィールドの表示名を変更することができます。 ただし、フィールドの名前を変更すると、コレクション内のすべてのチーム プロジェクトのすべての作業項目の種類に影響します。

フィールドの定義は、以下の、作業項目の種類の定義ファイルの XML 構文によって行います。

<FIELD name="fieldDisplayName" refname="fieldReferenceName" type="String | Integer | Double | 
DateTime | PlainText | HTML | History | TreePath | GUID " syncnamechanges="true | false" reportingname="reportingDisplayName" reportingrefname="reportingReferenceName"
reportable="Dimension | Detail | Measure" formula="avg" >
   <ALLOWEDVALUES> . . . </ALLOWEDVALUES>
   <ALLOWEXISTINGVALUE />
   <CANNOTLOSEVALUE />
   <COPY />
   <DEFAULT />
   <EMPTY />
   <FROZEN />
   <HELPTEXT> . . . </HELPTEXT>
   <MATCH />
   <NOTSAMEAS />
   <PROHIBITEDVALUES /> . . . </PROHIBITEDVALUES>
   <READONLY />
   <REQUIRED />
   <SERVERDEFAULT />
   <SUGGESTEDVALUES /> . . . </SUGGESTEDVALUES>
   <VALIDUSER />
   <WHEN>> . . . </WHEN>
   <WHENNOT> . . . </WHENNOT>
   <WHENCHANGED> . . . </WHENCHANGED>
   <WHENNOTCHANGED> . . . </WHENNOTCHANGED>
</FIELD>

詳細については、「FIELD (定義) 要素」を参照してください。

ページのトップへ

フィールドのデータ型

フィールドの種類によって、フィールドに格納できるデータの種類とサイズが定義されます。 フィールドは、Team Foundation Server ごとに 1 つだけ種類を指定できます。 この制約によって、組織は、プロジェクトおよび作業項目の種類にわたって共通のフィールドを使用できます。

サポートされるフィールドの種類を次の一覧に示します。

[データ型]

説明

DateTime

世界協定時刻 (UTC) に従って日付を指定します。

DateTime フィールドは、FieldControl 属性または DateTimeControl type 属性のどちらかを使用して作業項目フォームに追加できます。

Double

浮動小数点値を指定します。 Double フィールドは、クエリ フィルターと結果リストでよく使用されます。

Double フィールドは、FieldControl type 属性を使用して作業項目フォームに追加できます。

GUID

一意の識別子が格納されるフィールドを指定します。

GUID フィールドを作業項目フォームに追加することはできません。

History

ディスカッション スレッドの表示と、その他の履歴情報の追跡をサポートします。

メモメモ
System.History フィールドだけがこのデータ型を使用します。このデータ型を使用して、カスタム フィールドを定義することはできません。

System.History フィールドは、リッチ テキスト形式のコントロールをサポートする WorkItemLogControl type 属性を使用して作業項目フォームに追加できます。

HTML

リッチ テキスト データをキャプチャする機能と、作業項目の説明など、長いテキストの説明を使用する機能をサポートします。 HTML フィールドは、HTML を入力して情報を多彩に表示できる点で、PlainText フィールドとは異なります。

HTML フィールドは、リッチ テキスト形式のコントロールをサポートする HTMLControl type 属性を使用して作業項目フォームに追加できます。

Integer

32 ビットの符号付き整数値を指定します。 Integer フィールドは、クエリ フィルターと結果リストでよく使用されます。

Integer フィールドは、FieldControl type 属性を使用して作業項目フォームに追加できます。

PlainText

255 文字以上の Unicode 文字を含む文字列を入力できます。

PlainText フィールドは、プレーンテキストに限定して FieldControl type 属性を使用する、またはリッチ テキスト形式のコントロールをサポートする HTMLControl type 属性のいずれかを使用することで作業項目フォームに追加できます。

String

最大 255 文字の Unicode 文字を含む文字列を入力できます。 String フィールドは、ラベルや、長さが 1 行以下の短い他のテキスト文字列に使用します。 String フィールドは、クエリ フィルターと結果リストでよく使用されます。

String フィールドは、FieldControl type 属性を使用して作業項目フォームに追加できます。

TreePath

製品の区分パスとイテレーション パスを表示するための要件など、階層構造またはツリー構造でエントリを表示するフィールドを指定します。

メモメモ
System.AreaPath フィールドと System.IterationPath フィールドだけがこのデータ型を使用します。このデータ型を使用して、カスタム フィールドを定義することはできません。

System.AreaPath フィールドと System.IterationPath フィールドは、WorkItemClassificationControl type 属性を使用して作業項目フォームに追加できます。

ページのトップへ

フィールドに割り当てられる reportable 属性

フィールド値の中には、レポート用として特に役立つものがあります。 作業項目の種類の定義の言語を使用すると、次のオプションの属性を指定できます。

  • reportable. reportable 属性は、フィールドをレポートに含めるかどうか、およびフィールドをレポートに含める方法に応じて、None、Detail、Dimension、または Measure に設定できます。 この属性に None 以外の値が指定されたフィールドのデータは、データ ウェアハウスにエクスポートされ、レポートに取り込むことができます。

    既存のフィールドを作業項目の種類に追加するときは、reportable 属性の現在の値が使用されます。 フィールドを作業項目の種類に追加すると、reportable 属性を使用することで明示的に指定しない限り、レポートが無効になります。

  • reportingname. レポートにデータを表示するときに使用されるフィールドに、別の名前を割り当てることができます。 値を指定しなかった場合は、name 属性に割り当てられた表示名が使用されます。

  • reportingrefname. データがリレーショナル データ ウェアハウスにエクスポートされる際に使用されるフィールドには、別の参照名を割り当てることができます。 値を指定しなかった場合は、refname 属性に割り当てられた値が使用されます。

    この属性を使用して、レポートに含まれているフィールドを結合または分岐することができます。 別の参照名があり、かつ別のプロジェクト コレクションで定義された 2 つのフィールドを結合するには、両方のフィールドに同じ reportingrefname を割り当てる必要があります。 同じ参照名があり、かつ別のプロジェクト コレクションで定義された 2 つのフィールドを分岐するには、各フィールドに別の reportingrefname を割り当てる必要があります。

フィールドを定義した後、コマンド プロンプトで witadmin changefield コマンドを使用して refname 属性を除くすべての属性値を変更できます。

レポート用のフィールドにラベルを付けるベスト プラクティスについては、「作業項目フィールドの追加および修正とレポート作成」を参照してください。

ページのトップへ

reportable 属性の値

次の表に示すように、reportable 属性には、none、dimension、detail および measure のいずれかの値を割り当てることができます。

注意

作業項目に使用したフィールドを、後で reportable に設定することもできます。 reportable 値を設定した後でウェアハウスにコピーされる新しいリビジョンの作業項目には、フィールド値が含まれます。 一方、ウェアハウスに既に存在するリビジョンに対しては、既存の値は埋め戻されません。

属性値

説明

Detail

Detail 型は、Integer、Double、String、または DateTime の各フィールドに対してのみ使用します。

このフィールドのデータは、リレーショナル ウェアハウス データベースの作業項目テーブルおよび現在の作業項目テーブルに移動されますが、SQL Server Analysis Services キューブには移動されません。 この型を使用すると、レポートで使用する際にキューブが巨大になるのを防ぐことができるため、無制限のテキスト フィールドに適しています。

Dimension

Dimension 型は、Integer、Double、String、または DateTime の各フィールドに対してのみ使用します。

このフィールドのデータは、リレーショナル ウェアハウス データベースおよび Analysis Services キューブに対し、作業項目ディメンションの属性として入力され、レポートのフィルターに使用できます。 この型は、有効値のリストを持つフィールドに対して使用します。 Work Item Type および State はディメンションの典型例です。

Measure

Measure 型は、Integer フィールドと Double フィールドに対してのみ使用します。 メジャーは、レポートに含まれる数値です。

Analysis Services キューブの処理中は、データは Measure に設定されたフィールドで事前に計算されます。 たとえば、作業項目と現在の作業項目のメジャー グループには、最初の見積もり、残存時間数、実績作業時間数のフィールドの累積データが含まれます。 メジャー グループの詳細については、「Team System における Analysis Services キューブで用意されているメジャー グループおよび測度」を参照してください。

Measure を指定するときは、formula 属性に sum を指定する必要があります。これにより、クエリで参照されるメジャーの合計が返されます。

None

レポートにフィールドを含めない場合には、None を指定します。 これは、既定の割り当て値です。

ページのトップへ

レポートを指定する方法の例

Detail の例

<FIELD refname="MyCorp.Summary" name="Summary" type="String" reportable="detail">

Dimension の例

<FIELD refname="MyCorp.Category" name="Category" type="String" reportable="dimension">

Measure の例

<FIELD refname="MyCorp.Cost" name="Cost" type="Integer" reportable="measure" formula="sum">

インデックス付きフィールド

witadmin indexfield コマンドを使用して、作業項目フィールドのインデックス作成を有効または無効にすることができます。 フィールドのインデックス作成を有効にすると、クエリでそのフィールドを指定する作業項目を検索するパフォーマンスが向上することがあります。 作業項目クエリの多くで使用するカスタム フィールドを追加した場合、そのフィールドのインデックス作成を有効にすることをお勧めします。 詳細については、「作業項目フィールドの管理 [witadmin]」を参照してください。

ページのトップへ

FIELD (定義) 子要素

作業項目フィールドに指定可能な多数のオプションの子要素があります。以下に例を示します。

  • ヘルプ テキスト。 作業項目フォームのフィールドに表示されるツール ヒントまたはヘルプ情報を定義します (HELPTEXT)。

  • フィールドの制限。 フィールドを、必須、読み取り専用、空、固定、特定のパターン一致として指定します (REQUIREDREADONLYEMPTYFROZENMATCH)。

  • フィールド値の自動設定。 フィールドの値を指定します (DEFAULTCOPYSERVERDEFAULT)。

  • フィールドの一覧。 許可値、推奨値、または禁止値を指定します。 (ALLOWEDVALUES, SUGGESTEDVALUES, PROHIBITEDVALUES)

  • フィールド条件。 別のフィールドが変更された場合、変更されない場合、特定の値の場合、特定の値ではない場合、または他の条件の場合にフィールドに適用される 1 つ以上の規則を指定します (WHENWHENNOTWHENCHANGEDWHENNOTCHANGEDCANNOTLOSEVALUENOTSAMEAS)。

詳細については、「すべての FIELD XML 要素のリファレンス」を参照してください。

ページのトップへ

システム フィールドと定義済みフィールド

システム定義のすべてのフィールドには、"System" で始まる参照名が指定されます。たとえば、System.AreaPath、System.AssignedTo というパターンで続きます。

Microsoft Solutions Framework (MSF) プロセス テンプレートにより定義される定義済みフィールドは、Microsoft.VSTS で始まり、その後は用途により異なります。 共通で使用される定義済みフィールド、スケジューリング目的で使用されて Office Project と統合される定義済みフィールド、Team Foundation ビルドと統合される定義済みフィールド、および Team Foundation と統合される定義済みフィールドの例は以下のとおりです。

  • Microsoft.VSTS.Common.Priority

  • Microsoft.VSTS.Scheduling.DueDate

  • Microsoft.VSTS.Build.FoundIn

  • Microsoft.VSTS.TCM.Steps

MSF for Agile Software Development v5.0 プロセス テンプレートに対して定義されるすべてのシステム フィールドおよび定義済みフィールドの概要については、「システム フィールドおよび MSF のプロセス テンプレートで定義済みのフィールドの使用」を参照してください。 フィールド名の指定の詳細については、「作業項目トラッキング オブジェクトの名前付け規則」を参照してください。

ページのトップへ

参照

処理手順

作業項目の種類に対するフィールドの追加と削除

参照

作業項目フィールドの管理 [witadmin]

FIELD (定義) 要素

概念

すべての WITD XML 要素のリファレンス

すべての FIELD XML 要素のリファレンス

その他の技術情報

データ ウェアハウスで発生しているスキーマ競合の解消

作業項目フィールドの追加および修正とレポート作成

作業項目フィールドの定義

履歴の変更

日付

履歴

理由

2011 年 1 月

グローバル ワークフローに関する情報を追加し、関連トピックへのリンク セクションを更新。 スキーマ定義関連セクションを削除。

情報の拡充