Microsoft Project フィールドの Team Foundation フィールドへのマッピング
Team Foundation に格納されている作業項目フィールドを Microsoft Project に対して定義されるフィールドにマッピングする方法をカスタマイズすることができます。 特定のフィールドを発行する方法を変更したり、階層またはツリー リンクおよび依存関係リンクを作成するときに使用する既定のリンクの種類を指定したりできます。
Microsoft Excel と異なり、 Microsoft Project では、タスク名やカスタム フィールドなどの定義済みの列を含む、限られた列のセットを使用します。 ユーザーが Microsoft Project ファイル内の作業項目データを発行または更新すると、フィールド マップにより、作業項目データベース内のフィールドと Microsoft Project 内の列の対応が判断されます。
たとえば、作成したフィールドをサポートするように、またはユーザー設定の列ではなく定義済みの列にフィールドをマッピングするように、マッピングをカスタマイズすることができます。 Microsoft Project のフィールド マッピング ファイルの完全なドキュメントについては、「Project フィールドを TFS フィールドにマッピングする方法の追加と変更」を参照してください。
FileMapping.xml ファイルを変更して、マッピングをカスタマイズします。 次の表に、MSF (Microsoft Solutions Framework) 用のプロセス テンプレートのファイル、フォルダー、およびプラグインの名前を示します。 プラグインには、チーム プロジェクト コレクションにファイルをアップロードするタスクの定義が含まれています。
ファイル名: |
FileMapping.xml |
フォルダー名: |
分類 |
プラグイン名: |
Microsoft.ProjectCreationWizard.Classification 詳細については、「分類プラグインによる初期の区分およびイテレーションの定義」を参照してください。 |
フィールドのマッピング方法を指定します。
Mapping 要素と次の構文構造を使用して、マッピングするフィールドを指定します。
<Mappings>
<Mapping WorkItemTrackingFieldReferenceName="System.Id"
ProjectField=""
ProjectName=""
ProjectUnits=""
PublishOnly=""
IfSummaryRefreshOnly=""/>
</Mappings>
Mapping 要素の属性を次の表に示します。
属性 |
説明 |
---|---|
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 要素に加えて、他の 2 つの要素で、フィールドの同期方法、およびリンクと添付ファイルをサポートするフィールドを決定します。
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>