Team Foundation Server Synchronization

Thanks to the bi-directional integration that exists between TeamPulse and Microsoft Team Foundation Server (TFS), you can sync work items and take advantage of the advanced project management and collaboration features available in TeamPulse.

Team Explorer 2012 must be installed on the TeamPulse server (no matter which version of TFS you are connecting to)

Which versions of TFS are supported?

Team Foundation Server 2008, 2010, 2012, 2013, and Team Foundation Service

How is the connection made?

Go to Settings >> Manage Sync Servers. You need to enter your TFS server information first, namely the TFS Server Name, Collection, Path, Port Number and Protocol. You also need to provide a TFS account for operations performed by TeamPulse. This account should have read/write access to all projects in the collection and should also have the Make requests on behalf of others permission. Connection is managed only by TeamPulse Server Administrators.

tfs synchronization

You can find a detailed step-by-step connection guide both for on-site TFS and TFS Service here.

How are projects synced?

First you need to have a TFS project that you can either import directly into TeamPulse (i.e. creating automatically the same project in TeamPulse) or just sync with an existing TeamPulse project.

Choosing a TFS project to synchronize with involves three steps: getting a list of TFS projects, choosing a project, and choosing a process template.

In “Settings” >> “TFS Sync Information” Only users with Project Administrator rights in both, TeamPulse and TFS can connect a TeamPulse project to a TFS project. Have in mind that by default, TeamPulse will use the credentials of the currently logged in user to retrieve the list of projects, so to use a different TFS user, click the “use different credentials” link.

tfs synchronization step 1

Process Templates

TeamPulse can be configured to synchronize with TFS projects, literally from any process template and is designed to work out-of-the-box with some of the most popular ones (see the screenshot below). TeamPulse attempts to suggest a value for the Process Template and it is recommended that the suggested value should be chosen. It is derived by comparing the work item types that come with a process template and comparing them to the work item types currently in a project. If all the default work item types are still present, the project is considered to have been created with that process template.

team foundation server process templates

Syncing with 1 TFS project to many TeamPulse projects

Some TFS projects are used to store the data for more than one project. TeamPulse can pipe the data from one large TFS project into multiple TeamPulse projects. In these scenarios the most common way to segregate the work in each project in TFS is to use areas and/or iterations.

You can find a detailed step-by-step project sync guide here

What can be synced?

Work items

The user stories, bugs, risks and issues along with their tasks. The tasks inherit the syncable setting from their parent (story, bug, issue or risk) because in TeamPulse all tasks have a parent. All of the acceptance criteria and attachments are synced as well.

Attachments

Attachments on synchronized items are not physically copied between both systems, but rather a link is provided from the target system back to the attachment hosted in the source. This allows for easy access to file attachments without duplicating the required storage space.

Areas and iterations

The areas and iterations are created as needed during each synchronization.

Custom Mapping

You can choose how to relate your TeamPulse and TFS items i.e. a “product backlog item” in TFS towards a “user story” in TeamPulse: 

tfs mapping items

Along with syncing an entire project, single items such as Stories, Bugs, Issues, and Risks can be synced on their own via the GUI. One scenario that this is useful is if a developer wants to check in code and associate the check-in with a work item, but the item has not been synced to TFS yet.

A detailed step-by-step items sync guide can be found here

Customizing the synchronization

Templates & mappings

TeamPulse allows you to configure the sync mappings (click here for more details), the project template settings in TeamPulse (click here for more details) and the process template settings in TFS (click here for more details). These settings are important because when synchronizing, each transition will be replaced in TeamPulse or TFS respectively.

Custom queries

In addition, a TFS query can be used to specify which work items will be synchronized with TeamPulse. Only work items returned by the query will be synchronized from TFS to TeamPulse. This article will guide you how to create your query.

Automatic synchronization

Automatic synchronizations can be scheduled as well. To do this you will need to edit the Integration Service configuration file. Click here to see the xml configuration necessary to create an automatic sync.