次の方法で共有


Microsoft Project のフィールド マッピング ファイル

Team Foundation の作業項目として定義されたフィールドを Microsoft Project のフィールドにマップする方法はカスタマイズできます。特定のフィールドの発行方法も変更できます。Team Foundation と Microsoft Project のフィールド間におけるマッピングは、Microsoft Project のフィールド マッピング ファイルで定義できます。Microsoft Project には、"タスク名" などの定義済みのフィールドおよびカスタム フィールドが含まれます。ユーザーが、Microsoft Project 内の作業項目データを発行または更新すると、フィールド マップにより、作業項目データベース内のフィールドと Microsoft Project 内のフィールドの対応が判断されます。

マッピング ファイルでは、各チーム プロジェクトにフィールドを指定します。マッピング ファイルを取得するには、チーム プロジェクトからマッピング ファイルをダウンロードします。ファイルの変更が終わったら、フィールド マッピング ファイルをチーム プロジェクトにアップロードできます。これにより、そのチーム プロジェクトのすべてのユーザーに変更が適用されます。「Microsoft Project に対するフィールド マッピングの変更」を参照してください。

このトピックの内容

  • 要素のマッピング

  • ReservedField 要素

  • SyncField 要素

  • ResourceNameSeparator 要素

  • 階層リンクの種類

  • 依存関係リンクの種類

  • 発行および更新に影響するマッピング属性

要素のマッピング

作業項目フィールドとプロジェクトの列の間のマッピングを指定するには、Mapping 要素を使用します。

以下の XML 構文を使用して、作業項目の種類フィールドと Microsoft Project フィールド間のマッピングを指定します。次に、Mapping 要素を使用して、フィールド マップを指定します。

<Mapping WorkItemTrackingFieldReferenceName="" 
         ProjectField=""
         ProjectName=""
         ProjectUnits=""
         PublishOnly="">
         IfSummaryRefreshOnly=""/>

ms404686.collapse_all(ja-jp,VS.110).gif属性

次の表に、Mapping 要素と共に使用できる属性を示します。

属性

説明

WorkItemTrackingFieldReferenceName

必須です。作業項目の種類のフィールドの参照名を指定します。

ProjectField

必須です。Microsoft Project のフィールドの名前を指定します。Task Name 列の pjTaskName のように、名前の先頭に "pj" を付けることによって、定義済みのフィールド名を指定します。カスタム フィールドは、pjTaskText の末尾に番号を付けて、pjTaskText11 のように指定します。

ProjectName

省略可能です。 Microsoft Project に列名として表示される名前を指定します。この属性を指定しない場合、作業項目の種類のフィールド名が使用されます。

ProjectUnits

省略可能です。Microsoft Project にフィールドの種類をマップするときに使用する単位の種類を指定します。値は pjMinute、pjHour、pjDay、pjWeek および pjMonthUnit を指定できます。

メモメモ
ProjectUnits は、期間またはその他の時間単位を表すフィールドにのみ使用できます。

PublishOnly

省略可能です。この属性を true に設定すると、フィールドは作業項目データベースに発行されるだけで、最新の情報には更新されません。通常この値は、チーム エクスプローラーで更新してはならない計算済みのフィールドに使用します。この属性を false に設定すると、フィールドの発行と最新の情報への更新の両方が実行されます。既定値 false です。

既定のマッピング ファイルでは、PublishOnly 属性が true に設定されるのは、"開始日" フィールドと "完了日" フィールドの 2 つです。

IfSummaryRefreshOnly

省略可能です。この属性を true に設定した場合、次の項目に該当するときは、フィールドが作業項目データベースに発行されず、作業項目データベースから最新の情報に更新されます。

  • フィールドの行が Office Project のサマリー タスクである。

  • サマリー タスクの Publish 値と Refresh 値が Yes に設定されている。

  • サマリー タスクには、Team Foundation Server にバインドされている子タスクが 1 つ以上存在する。

Microsoft Project で更新または計算が実行されると、プロジェクト計画の作業項目データベースから更新された値が上書きされます。ただし、このようにして変更された値は作業項目データベースには保存されません。通常、この属性は、作業項目データベースに発行した場合にデータの不整合が生じる可能性のあるサマリー フィールドにのみ使用されます。

この属性を false に設定すると、フィールドの発行と最新の情報への更新の両方が実行されます。省略時の既定値は false です。

メモメモ
IfSummaryRefreshOnly 属性に割り当てられる値は、PublishOnly に割り当てられる値よりも優先されます。詳細については、このトピックで後述する「発行および更新に影響するフィールド」を参照してください。

既定のマッピング ファイルでは、"最初の見積もり""残存作業"、および "実績作業" の各フィールドについて IfSummaryRefreshOnly 属性が true に設定されます。

以下の例は、タイトルを含む作業項目の種類フィールドを Microsoft Project のタスク名フィールドにマップする方法を示しています。

<Mapping WorkItemTrackingFieldReferenceName="System.Title" 
         ProjectField="pjTaskName"/>

以下の XML 構文は、開始日を含む作業項目の種類フィールドを Microsoft Project の開始日フィールドにマップする方法を示す複雑な例です。計算済みのフィールドなので、チーム エクスプローラー で更新することによって起きるエラーを防ぐために、発行はするが更新しないように指定されています。

<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.StartDate" ProjectField="pjTaskStart" PublishOnly="true"/>

[!メモ]

ベスト プラクティスとして、Microsoft Project の計算済みフィールドは Team Foundation の読み取り専用フィールドにマップしてください。そうすれば混乱を避けることができ、チーム メンバーが計算済みフィールドを変更しようとしなくなります。

ページのトップへ

ReservedField 要素

ReservedField 要素は、タスク間で定義されている階層リンクをサポートするための要素であり、省略可能です。

マッピングでこの要素を指定しなかった場合、Microsoft Project では既定の pjNumber20 フィールドが使用されます。

ページのトップへ

SyncField 要素

同期フィールドを使うと、各タスクの発行と更新の動作を制御できます。このフィールドは、Team System タスク シート ビューを使用するとき、"発行および更新" というタイトルの列として表示されます。

同期フィールドは Microsoft Project のフィールド マッピング ファイルで指定する必要があります。どのフィールドが同期フィールドかを指定するには、以下の XML 構文を使用します。同期フィールドを指定するには、SyncField 要素を使用します。ProjectField 属性は、有効な Office Project フィールドに設定されている必要があります。

<SyncField ProjectField="" />

pjTaskText25 を同期フィールドとして指定する例を以下に示します。

<SyncField ProjectField="pjTaskText25" />

Office Project での同期フィールドの使用方法の詳細については、「Office Project での作業項目の発行または最新の情報への更新」を参照してください。

ページのトップへ

ResourceNameSeparator 要素

ResourceNameSeparator を使用すると、文字列内のリソース名を識別する文字を定義できます。Team Foundation のユーザーおよびリソースは、Active Directory ディレクトリ サービスのユーザーと同期されます。ユーザーおよびリソースの名前には、リソースの姓、名、およびミドル ネームのイニシャルを分離するために、コンマなどの区切り記号を含めることができます。

これは、省略可能な要素です。マッピングでこの要素が指定されていない場合、Microsoft Project では、次の表で定義されている既定のマッピングを使用して、リソース名が分離されます。

Active Directory およびチーム プロジェクトのリスト区切り記号

Office Project で置換される区切り記号

,

;

;

:

.

:

上の表に示す文字以外を使用する場合は、次の構文を使用して、ResourceNameSeparator を定義できます。

<ResourceNameSeparator WorkItemTrackingCharacter="" ProjectCharacter=""/>

Team Foundation の文字が "-" である場合に、Office Project で区切り記号として文字 "*" を指定する方法を次の例に示します。

<ResourceNameSeparator WorkItemTrackingCharacter="-" ProjectCharacter="*"/>

ページのトップへ

階層リンクの種類

Microsoft Project でサマリー タスクを作成すると、親であるサマリー タスクと子である下位のタスクの間にツリー リンクが作成されます。Office Project では、既定の System.LinkTypes.Hierarchy を使用してこれらのリンクを作成します。

ページのトップへ

依存関係リンクの種類

Microsoft Project のタスク間のリンクを作成するときは、タスク間の依存関係リンクを作成します。先行処理タスクには先行処理リンクが割り当てられ、後続処理タスクには後続処理リンクが割り当てられます。これらは、System.LinkTypes.Dependency リンクの種類に定義されている既定のリンクです。

ページのトップへ

発行および更新に影響するマッピング属性

次のマッピング フィールドおよび Microsoft Project フィールドの値によって、作業項目の値が発行または更新されるかどうかが決まります。

  • 各作業項目の [発行および更新] の値

  • 個々のマッピング フィールドの PublishOnly 属性の値

  • 個々のマッピング フィールドの IfSummaryRefreshOnly 属性の値

  • サマリー タスク (つまり親タスク) としてのタスクの分類

    親タスクは、Team Foundation Server に発行される子タスクを 1 つ以上持つタスクです。

作業項目がサマリー タスクではない場合

作業項目がサマリー タスク (親タスク) ではない場合、マッピング フィールドの属性、および項目の [発行および更新] の値への割り当てに基づいて、作業項目が発行または更新されるかを次の表に示します。

発行および更新

(タスク レベル)

PublishOnly 属性

フィールドの発行

フィールドの更新

True または False

更新のみ

True または False

True

False

作業項目がサマリー タスクである場合

サマリー タスクの基準を満たし、IfSummaryRefreshOnly が true の場合、その値が PublishOnly 値よりも優先されます。サマリー タスク (親タスク) の場合、[発行および更新] の値への割り当ておよびマッピング フィールドの属性に基づいて、作業項目が発行または更新されるかを次の表に示します。

発行および更新

(タスク レベル)

PublishOnly 属性

IfSummaryRefreshOnly

属性

フィールドの発行

フィールドの更新

True または False

True または False

更新のみ

True

True

更新のみ

True

False

更新のみ

False

True または False

True または False

True

True

False

False

False

ページのトップへ

参照

概念

リンクの種類要素のリファレンス

Microsoft Project のフィールド マッピングのカスタマイズ