Part 3 – Customization VSTS Process Template

In this part, I will explain how to modify Iterations/Areas and MS Project field mappings with TFS items

Iterations and Areas

Classification files are located within [Process Template]/Classification directory. Iterations for the project are defined within ProjectLifeCycle node and project areas are defined within ProjectModelHierarchy node.

 <tasks>

            <task id="UploadStructure" name="Creating project structure" plugin="Microsoft.ProjectCreationWizard.Classification" completionMessage="Team project structure created.">

            <taskXml>

                            <Nodes>

                                            <Node StructureType="ProjectLifecycle" Name="Iteration">

                                                            <Children>

                                                                            <Node StructureType="ProjectLifecycle" Name="Iteration 0" />

                                                                            <Node StructureType="ProjectLifecycle" Name="Iteration 1" />

                                                                            <Node StructureType="ProjectLifecycle" Name="Iteration 2" />

                                                            </Children>

                                            </Node>

                                            <Node StructureType="ProjectModelHierarchy" Name="Area">

                                                            <Children>

                                                                            <Node StructureType="ProjectModelHierarchy" Name="Area 0" />

                                                                            <Node StructureType="ProjectModelHierarchy" Name="Area 1" />

                                                                            <Node StructureType="ProjectModelHierarchy" Name="Area 2" />

                                                            </Children>

                                            </Node>

                            </Nodes>

                            <properties>

                                            <property name="MSPROJ" value="Classification\FieldMapping.xml" isFile="true" />

                            </properties>

            </taskXml>

            </task>

</tasks>

MS Project Field Mappings

These values define how the values stored in TFS are translated when exporting work items to and from Microsoft Project.

Mapping between MS project columns and work item type fields is defined by the FieldMapping.xml file. This file is located within [Process Template]/Classification directory.

<MSProject>

            <Mappings>

                            <Mapping WorkItemTrackingFieldReferenceName="System.Id" ProjectField="pjTaskText10" ProjectName="Work Item ID" />

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

                            <Mapping WorkItemTrackingFieldReferenceName="System.WorkItemType" ProjectField="pjTaskText24" />

                            <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Discipline" ProjectField="pjTaskText17" />

                            ……………………………………………….

                            ……………………………………………….

                            <ContextField WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.TaskHierarchy" />

                            <LinksField ProjectField="pjTaskText26" />

                            <SyncField ProjectField="pjTaskText25" />

            </Mappings>

</MSProject>