Microsoft Project フィールドの Team Foundation フィールドへのマッピング
Team Foundation に格納されている作業項目フィールドを Microsoft Project 用に定義されているフィールドにマップする方法をカスタマイズできます。特定のフィールドを発行する方法を変更したり、階層またはツリー リンクおよび依存関係リンクを作成するときに使用する既定のリンクの種類を指定したりできます。
Microsoft Excel とは異なり、Microsoft Project では、Task Name などの定義済みの列やカスタム フィールドを含む、限定的な列のセットを使用します。ユーザーが、Microsoft Project ファイル内の作業項目データを発行または更新すると、フィールド マップによって、作業項目データベース内のフィールドと Microsoft Project 内の列の対応関係が決定されます。
マップをカスタマイズして、たとえば、自分が作成したフィールドをサポートしたり、カスタム列ではなく定義済みの列にフィールドをマップしたりできます。Microsoft Project のフィールド マッピング ファイルの完全なドキュメントについては、「Microsoft Project のフィールド マッピングのカスタマイズ」を参照してください。
マップをカスタマイズするには、FileMapping.xml ファイルを変更します。次の表に、MSF (Microsoft Solutions Framework) 用のプロセス テンプレートのファイル、フォルダー、およびプラグインの名前を示します。プラグインには、このファイルをチーム プロジェクト コレクションにアップロードするタスクの定義が含まれています。
ファイル名: |
FileMapping.xml |
フォルダー名: |
分類 |
プラグイン名: |
Microsoft.ProjectCreationWizard.Classification 詳細については、「分類プラグインによる初期の区分およびイテレーションの定義」を参照してください。 |
このトピックの内容
フィールドをマップする方法の指定
同期、リンク、および添付ファイルに使用するフィールドの指定
既定のフィールド マップ
フィールドをマップする方法の指定
マップするフィールドを指定するには、Mapping 要素と次の構文構造を使用します。
<Mappings>
<Mapping WorkItemTrackingFieldReferenceName="System.Id"
ProjectField=""
ProjectName=""
ProjectUnits=""
PublishOnly=""
IfSummaryRefreshOnly=""/>
</Mappings>
Mapping 要素の属性を次の表に示します。
属性 |
Description |
---|---|
WorkItemTrackingFieldReferenceName |
必ず指定します。作業項目の種類のフィールドの参照名を指定します。 |
ProjectField |
必ず指定します。Microsoft Project の列の名前を指定します。Task Name 列の pjTaskName のように、名前の先頭に "pj" を付けることによって、定義済みの列名を指定します。カスタム フィールドは、pjTaskText の末尾に番号を付けて、pjTaskText11 のように指定します。 |
ProjectName |
省略可能です。列名としてユーザーに表示される名前を指定します。この属性を指定しない場合、作業項目の種類のフィールドの名前が使用されます。 |
ProjectUnits |
省略可能です。Microsoft Project にフィールドの種類をマップするときに使用する単位の種類を指定します。有効値は、pjMinute、pjHour、pjDay、pjWeek、および pjMonthUnit です。 |
PublishOnly |
省略可能です。この属性を true に設定すると、フィールドは作業項目データベースに発行されるだけで、最新の情報には更新されません。通常この値は、チーム エクスプローラーで更新してはならない計算済みのフィールドに使用します。この属性を false に設定すると、フィールドの発行と最新の情報への更新の両方が実行されます。既定では、この属性は false に設定されています。 既定では、この属性が true に設定されるのは "開始日" と "終了日" だけです。 |
IfSummaryRefreshOnly |
省略可能です。この属性を true に設定した場合、次の条件に該当するときは、フィールドが作業項目データベースに発行されず、作業項目データベースから最新の情報に更新されます。
Microsoft Project で更新または計算が実行されると、プロジェクト計画の作業項目データベースから更新された値が上書きされます。ただし、このようにして変更された値は作業項目データベースには保存されません。通常、この属性は、作業項目データベースに発行した場合にデータの不整合が生じる可能性のあるサマリー フィールドにのみ使用されます。 この属性を false に設定すると、フィールドの発行と最新の情報への更新の両方が実行されます。既定では、この属性は false に設定されています。
メモ
IfSummaryRefreshOnly 属性は PublishOnly 属性よりも優先されます。詳細については、「Microsoft Project のフィールド マッピング ファイル」を参照してください。
既定では、"最初の見積もり"、"残存作業"、および "実績作業" の各フィールドについて IfSummaryRefreshOnly 属性が true に設定されます。 |
同期、リンク、および添付ファイルに使用するフィールドの指定
Mapping 要素のほかに、フィールドの同期方法を決定する要素と、リンクおよび添付ファイルをサポートするフィールドを決定する要素があります。
SyncField 要素は、同期フィールドとして機能する列を指定します。同期フィールドには "発行および更新" というタイトルが付いており、ユーザーは、タスク行が発行または更新のみされるかどうかを指定できます。
同期フィールドにマップする列を指定するには、次の XML 構文を使用します。ProjectField 属性は、Microsoft Project の有効な列に設定します。
<SyncField ProjectField="" />
LinksField 要素は、リンクと添付ファイル列を指定します。リンクと添付ファイル列を使用すると、特定のタスク行にリンクまたは添付ファイルがあるかどうかを指定できます。
リンクと添付ファイル フィールドにマップする列を指定するには、次の XML 構文を使用します。ProjectField 属性は、Microsoft Project の有効な列に設定します。
<LinksField ProjectField="" />
既定のフィールド マップ
次の例は、MSF for Agile Software Development プロセス テンプレートで作業項目のフィールドを Microsoft Project の列にマップする方法を示しています。
<?xml version="1.0" encoding="utf-8"?>
<MSProject>
<Mappings>
<Mapping WorkItemTrackingFieldReferenceName="System.AreaPath" ProjectField="pjTaskOutlineCode9" />
<Mapping WorkItemTrackingFieldReferenceName="System.AssignedTo" ProjectField="pjTaskResourceNames" />
<Mapping WorkItemTrackingFieldReferenceName="System.Id" ProjectField="pjTaskText10" ProjectName="Work Item ID" />
<Mapping WorkItemTrackingFieldReferenceName="System.IterationPath" ProjectField="pjTaskOutlineCode10" />
<Mapping WorkItemTrackingFieldReferenceName="System.Reason" ProjectField="pjTaskText14" />
<Mapping WorkItemTrackingFieldReferenceName="System.Rev" ProjectField="pjTaskText23" />
<Mapping WorkItemTrackingFieldReferenceName="System.State" ProjectField="pjTaskText13" ProjectName="State" />
<Mapping WorkItemTrackingFieldReferenceName="System.Title" ProjectField="pjTaskName" />
<Mapping WorkItemTrackingFieldReferenceName="System.WorkItemType" ProjectField="pjTaskText24" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Priority" ProjectField="pjTaskText19" ProjectName="Work Item Priority" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.StackRank" ProjectField="pjTaskNumber1" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.CompletedWork" ProjectField="pjTaskActualWork" ProjectUnits="pjHour" IfSummaryRefreshOnly="true" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.FinishDate" ProjectField="pjTaskFinish" PublishOnly="true" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.OriginalEstimate" ProjectField="pjTaskBaselineWork" ProjectUnits="pjHour" IfSummaryRefreshOnly="true" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.RemainingWork" ProjectField="pjTaskRemainingWork" ProjectUnits="pjHour" IfSummaryRefreshOnly="true" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.StartDate" ProjectField="pjTaskStart" PublishOnly="true" />
<LinksField ProjectField="pjTaskText26" />
<SyncField ProjectField="pjTaskText25" />
</Mappings>
</MSProject>
参照
概念
Microsoft Project のフィールド マッピングのカスタマイズ