作業項目フィールドの使用
作業項目フィールドは、作業項目の種類のデータの追跡、クエリのフィルター条件の定義、およびレポートの生成に使用します。ワークフローの定義に作業項目の種類のフォームで追跡するか、または表示する Team Foundation Server (TFS) のコア システム データ フィールドを除くすべてのデータ要素、作業項目フィールドとして定義する必要があります。作業項目フィールドは、作業項目の種類の定義、またはグローバル ワークフロー内で定義できます。
作業項目フィールドは、チーム プロジェクト コレクションで保持されます。フィールドを追加するには、次のいずれかの操作を実行します。
チーム プロジェクトを作成する。作業項目の種類またはグローバル ワークフローの定義内で定義されたすべてのフィールドと、選択されたプロセス テンプレートに対して定義されたすべてのフィールドが作成されます。コア システムのフィールドは、チーム プロジェクトに対して定義されている作業項目の種類ごとに自動的に定義されます。これらのフィールドの一覧については、「Visual Studio ALM の作業項目フィールド参照」を参照してください。
作業項目の種類の定義のインポート。作業項目の種類の定義内で定義されたすべての新しいフィールドが、コレクションに追加されます。詳細については、「すべての WITD XML 要素のリファレンス」を参照してください。
グローバル ワークフロー定義のインポート。グローバル ワークフロー内で定義されたすべての新しいフィールドが、コレクションに追加されます。複数の作業項目の種類で共有する一連の作業項目フィールドを保持する場合は、グローバル ワークフローを定義します。詳細については、「グローバル ワークフローのカスタマイズ」を参照してください。
Project Web App (PWA) のインスタンスにプロジェクト コレクションをマップします。Project Server の Team Foundation Server の拡張機能をインストールしたら、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="sum" >
<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 (定義) 要素」を参照してください。
ページのトップへ
フィールドのデータ型
フィールドの種類によって、フィールドに格納できるデータの種類とサイズが定義されます。フィールドは、チーム プロジェクト コレクション内で定義されている 1 種類だけを指定できます。この制約によって、組織は、プロジェクトおよび作業項目の種類にわたって共通のフィールドを使用できます。
サポートされるフィールドの種類を次の一覧に示します。
データ型 |
説明 |
---|---|
DateTime |
世界協定時刻 (UTC) に従って日付を指定します。 FieldControl または DateTimeControltype の属性を使用して作業項目フォームに DateTime のフィールドを追加します。 |
Double |
浮動小数点値を指定します。Double フィールドは、クエリ フィルターと結果リストでよく使用されます。 FieldControltype の属性を使用して作業項目フォームに Double のフィールドを追加します。 |
GUID |
一意の識別子が格納されるフィールドを指定します。 GUID フィールドを作業項目フォームに追加することはできません。 |
History |
ディスカッション スレッドの表示と、その他の履歴情報の追跡をサポートします。
メモ
System.History フィールドだけがこのデータ型を使用します。このデータ型を使用して、カスタム フィールドを定義することはできません。
リッチ テキスト形式のコントロールをサポートする WorkItemLogControltype の属性を使用して作業項目フォームに System.History のフィールドを追加します。 |
HTML |
リッチ テキスト データをキャプチャする機能と、作業項目の説明など、長いテキストの説明を使用する機能をサポートします。HTML フィールドは、HTML を入力して情報を多彩に表示できる点で、PlainText フィールドとは異なります。 リッチ テキスト形式のコントロールをサポートする HTMLControltype の属性を使用して作業項目フォームに HTML のフィールドを追加します。 |
Integer |
32 ビットの符号付き整数値を指定します。Integer フィールドは、クエリ フィルターと結果リストでよく使用されます。 FieldControltype の属性を使用して作業項目フォームに Integer のフィールドを追加します。 |
PlainText |
255 文字以上の Unicode 文字を含む文字列を入力できます。 FieldControl 型の属性を使用して作業項目フォームに PlainText のフィールドを、プレーンテキストに限定、またはリッチ テキスト形式のコントロールをサポートする HTMLControltype の属性を追加します。 |
String |
最大 255 文字の Unicode 文字を含む文字列を入力できます。String フィールドは、ラベルや、長さが 1 行以下の短い他のテキスト文字列に使用します。String フィールドは、クエリ フィルターと結果リストでよく使用されます。 FieldControltype の属性を使用して作業項目フォームに String のフィールドを追加します。 |
TreePath |
製品の区分パスとイテレーション パスを表示するための要件など、階層構造またはツリー構造でエントリを表示するフィールドを指定します。
メモ
System.AreaPath フィールドと System.IterationPath フィールドだけがこのデータ型を使用します。このデータ型を使用して、カスタム フィールドを定義することはできません。
WorkItemClassificationControl type "の属性を使用して作業項目フォームに System.AreaPath と System.IterationPath のフィールドを追加します。 |
ページのトップへ
フィールドに割り当てられる reportable 属性
フィールド値の中には、レポート用として特に役立つものがあります。作業項目の種類の定義の言語を使用すると、次のオプションの属性を指定できます。
reportable.フィールドをレポートに含める動作を None、Detail、Dimension、または Measureに reportable 属性を、によってかどうか、および設定します。この属性に 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)。
フィールドの制限。フィールドを、必須、読み取り専用、空、固定、特定のパターン一致として指定します (REQUIRED、READONLY、EMPTY、FROZEN、MATCH)。
フィールド値の自動設定。フィールドの値を指定します (DEFAULT、COPY、SERVERDEFAULT)。
フィールドの一覧。許可値、推奨値、または禁止値を指定します。(ALLOWEDVALUES, SUGGESTEDVALUES, PROHIBITEDVALUES)
フィールド条件。別のフィールドが変更された場合、変更されない場合、特定の値の場合、特定の値ではない場合、または他の条件の場合にフィールドに適用される 1 つ以上の規則を指定します (WHEN、WHENNOT、WHENCHANGED、WHENNOTCHANGED、CANNOTLOSEVALUE、 NOTSAMEAS)。
詳細については、「すべての FIELD XML 要素のリファレンス」を参照してください。
ページのトップへ
システム フィールドと定義済みフィールド
システム定義のすべてのフィールドには、"System" で始まる参照名が指定されます。たとえば、System.AreaPath、System.AssignedTo というパターンで続きます。
既定で定義される定義済みフィールドは、TFS が Microsoft.VSTS で始まる提供する処理し、さらにテンプレートの使用により異なります。共通で使用される定義済みフィールド、スケジューリング目的で使用されて Microsoft Project と統合される定義済みフィールド、Team Foundation ビルドと統合される定義済みフィールド、および Team Foundation と統合される定義済みフィールドの例は以下のとおりです。
Microsoft.VSTS.Common.Priority
Microsoft.VSTS.Scheduling.DueDate
Microsoft.VSTS.Build.FoundIn
Microsoft.VSTS.TCM.Steps
TFS が提供する既定のプロセス テンプレートに対して定義される定義済みフィールド、すべてのシステムの概要については、Visual Studio ALM の作業項目フィールド参照を参照してください。フィールド名の指定の詳細については、「作業項目トラッキング オブジェクトの名前付け規則」を参照してください。
ページのトップへ
隠し、非可変性の属性および作業項目フィールド エクスプローラー
作業項目フィールドに変更できる、属性に加えて各フィールドのいくつかの非仮想変化すると非表示の属性があります。作業項目のフィールド エクスプローラーのツールを使用して、これらのフィールド割り当てを参照することができます。のパワー ツールであるプロセス エディターから作業項目のフィールド エクスプローラーのツールにアクセスします。
作業項目フィールド エクスプローラー
[!メモ]
プロセス エディターのパワー ツールは Team Foundation Server プロセス テンプレートをカスタマイズするためのグラフィカル ユーザー インターフェイスを提供します。インポート、作業項目の種類をエクスポート、プロセス テンプレートの内容を変更し、チーム プロジェクト コレクションに対して定義されている一連のフィールドを説明するため、このツールを使用できます。詳細については、Microsoft Web サイトの次のページを参照: Team Foundation Server のパワー ツール[.]
参照
関連項目
概念
作業項目トラッキングおよびチーム プロジェクトのカスタマイズ