Import a project from TFS

The Import Project from TFS startup interview process can be used to create a TeamPulse project that imports its settings directly from an existing Team Foundation Server project.  Importing a project from TFS is the easiest way to get started using TeamPulse with an existing TFS project.  The import process will perform the following actions:


  1. Create a new TeamPulse project.
  2. Set up synchronization between the TeamPulse project and the TFS project by mapping TeamPulse entity types to TFS work item types and mapping the fields within them.
  3. Import the workflow of each mapped type into the TeamPulse project settings.
  4. Import all the areas from the TFS project to the TeamPulse project.
  5. Import all the iterations from the TFS project to the TeamPulse project.



The Import Project from TFS process can be initiated in several ways:

  1.  From the Application Menu
    Import TFS Project option on the TeamPulse Application Menuenlarge screenshot
  2. From the Quick Access Toolbar
    Import TFS Project option on the TeamPulse Ribbon Quick Access Toolbarenlarge screenshot
  3. From the project list screen
    Import TFS Project option on the TeamPulse project list screenenlarge screenshot
  4. From within the Create New Project startup interview
    Import TFS project option on the Choose Template page of the TeamPulse Create New Project startup interviewenlarge screenshot



Step #1: Choose Project

Once initiated, the Import Project from TFS process presents a screen that allows you to choose the TFS project you wish to import into TeamPulse. 

Choose a TFS projectenlarge screenshot


The first selection box presents a list of known TFS servers and collections from which to choose. If the server/collection your project is contained in is not visible in the list, the Manage Servers button can be pressed to launch a dialog used for managing your list of TFS servers/collections. For more information on using this dialog, please see Connecting to Team Foundation Server.

Select a TFS server/collectionenlarge screenshot


After selecting a TFS server/collection, the second selection box loads a list of available projects to choose from. The list of projects is specific to the TFS permissions of the user credentials shown above it. For more information see Getting a List of TFS Projects.

Select a TFS project from the listenlarge screenshot



Step #2: Project

Once a TFS project has been selected navigation can proceed to the next step of the process, which is to name and describe the project. The name of the project will be defaulted with the TFS project name, but it is fine to change this if so desired.

New Project - Name and Goalsenlarge screenshot



Step #3: Map Types

Once the project has been named and described, continuing the process will bring up a screen allowing you to map work item types from TeamPulse to TFS types that you want synchronized.

TFS import: map work itemsenlarge screenshot


TeamPulse will do its best to identify the correct entity mappings based on the work item types in your TFS project, and will default the mappings of entities it feels match. To customize the mappings you may drag TFS items from the un-mapped area onto a TeamPulse type that currently does not have another item mapped. To un-map a TFS item you may drag it out of the TeamPulse item area and into the list of un-mapped TFS work item types. Once you have mapped the types you wish to synchronize between the two systems, you may continue the process.


It is not necessary to map every TeamPulse type to a type in TFS. It is perfectly legitimate, for instance, to leave the Risk TeamPulse type unmapped. If you do not have a TFS work item type that is appropriate for a given TeamPulse type, simply leave the association empty and proceed with the import process.



Step #4: Map Fields

After you have chosen which types to map together, you can customize the field mappings, default values, and value mappings for each type.  Field mappings are used for linking a field in a TeamPulse entity type with a field in a TFS work item type.

TFS import: map fieldsenlarge screenshot


Default values are used to specify values to use when creating new work items in TFS.  The system will try to determine appropriate field mappings and defaults, but you can customize them as you wish. 

TFS import: default valuesenlarge screenshot


Value mappings are used to convert specific values from a field in TeamPulse to the mapped field in TFS (and vice versa), rather than directly copying the contents of the field.  Value mappings are commonly used to map boolean values in TeamPulse (true/false) to list values in TFS ('Yes'/'No'), or to map TeamPulse usernames ('John Doe') to TFS usernames ('Doe, John').  To add or edit value mappings for mapped fields, click the button found in the Value Mapping column beside your desired field mapping row.

The value mapping dialog presents three options:

1) No value mapping

2) Create new value mapping

3) Use existing value mapping

TFS import: value mappingsenlarge screenshot

When the 'create new value mapping' option is chosen, the user is asked to provide a name for the value mapping, which will then be used to reference it in the future. In this way, multiple fields across all the entities in your project can share value mappings. A good example for this would again be the Assigned To field, as you would likely use the same value mapping for Story as you would for Bug or other types which have an Assigned To field mapping. After selecting a name, the user can then input value pairs that will be used to translate values from one system to the other during synchronization.


When the 'use existing value mapping' option is selected the user is provided a drop down of already created value mappings to choose from.  Selecting one will also allow further editing of the value pairs. Keep in mind that since these value mappings can be shared, if you adjust a value mapping here, all fields that use this same value mapping will be affected.


In most cases, changes made to a field will synchronize both ways (i.e. from TeamPulse to TFS and also from TFS to TeamPulse).  However, some fields, such as Acceptance Criteria are special and will only sync one-way from TeamPulse to TFS.  For more information about field mappings, default values, and value mappings, see the section entitled Editing the Synchronization Mappings.


It is not necessary to map every field in a TeamPulse entity type to a field in a TFS work item type.  For any field in either system that is not mapped, the data in that field will remain untouched during synchronization.



Step #5: Iterations

The Import and setup your iterations screen shows the iteration structure that will be imported from your TFS project.

TFS import: iterationsenlarge screenshot


The screen allows you to select a non-parent (leaf) node to be your current iteration, when the current iteration began, and how long your iterations typically last.


The selected current iteration and it's start date and length will have an impact on the other iterations imported from TFS. Iterations with the same parent as your chosen current iteration (siblings) will be linked and given start and end dates such that each iteration will begin and end in succession in the order they appear in the iteration structure. All other iterations within the project will be given a date period in the past and will need to be manually scheduled using the Schedule screen. For more information on scheduling and linking iterations, please see the Scheduling documentation.



Step #6: With

This step is used to select the people who you will be working with on this project. The team member list is populated with all the licensed TeamPulse users. Any user selected on this step will become a member of the project and be added to the Team Member permission group for the project. After the project is created, project members and permissions can be customized using the Project Members and Permission Groups screens respectively.

New Project - With Stepenlarge screenshot




Step #7: Sync Options

Use this step to specify if you want the project to sync attachment links with TFS and whether you want to sync the TeamPulse project with the TFS project immediately after the project is created.  For more information about attachment links, see the section entitled Attachment Linking.

New Project - Sync Optionsenlarge screenshot


If you have chosen to sync attachment links and the TeamPulse Host URL has not been set yet, you will also need to provide this information.  This is the base URL that is used when creating hyperlinks that link back into TeamPulse from external systems and email notifications.  The URL is pre-populated using a value from the web.config file on the server, but you can change it if you use a different URL for accessing TeamPulse.  For more information, see the section entitled Email & Notification Setup.



Step #8: Summary & Finish

The last step of the startup interview allows you to review your selections before the project is actually created. From the summary step, click the Finish/Next button to complete the process and create your project.

New Project - Summary Stepenlarge screenshot