Three possible causes for TFS to Project Server sync “failure”

October 22, 2011

If you didn’t know already, there is a connector from Microsoft that lets you synchronize work items in TFS with enterprise project plans in Microsoft Project Server.  I’ve been working with this synchronization feature for a project that I’m doing and ran into a couple of “user error” problems.  Put another way, everything was configured but I couldn’t get any work items to sync.  Even when I ran the command to export the work item sync errors (“tfsadmin ProjectServer /GetSyncMessages”) I was getting nothing.

Turns out that the problems were all related to “user error”.  (Doh!)

First off, huge thanks to Federico Kolliker Frers and Siddharth Bhatia at Microsoft for them help with these issues.

Issue #1: Empty Enterprise Project field

In order to sync a work item between TFS and PS, you don’t have to do a lot more than just setting the “Submit to Project Server” field to “yes” on the work item.  There’s also a field called “Enterprise Project” that’s right next to “Submit to Project Server” that was empty.  I assumed that because I only had one Enterprise Project mapped to my Team Project that the sync would auto-populate the “Enterprise Project” field.

Nope.  It doesn’t work that way because you can map a single Team Project to multiple Project Server Enterprise Projects.  There’s no good way for the sync to know which Enterprise Project you mean so you have have to specify it.

SNAGHTML440020
Figure 1. Don’t forget to specify an Enterprise Project for the Work Item.

Issue #2: You need to specify Project Resources, too.

In Project Server, you specify pools of people who are globally available to your company by creating what are known as “Enterprise Resources”.  Basically, these are the people who can do work on your projects.  Enterprise Resources are added via the Resource Center (Figure 2) on your Project Server web site (typically, http://machinename/PWA).

SNAGHTML56c10e
Figure 2. Add Project Server Enterprise Resources through the Resource Center

When you create an Enterprise Project plan in Project Server, it doesn’t mean that all of the resources in Resource Center are addressable from your Enterprise Project. Turns out that there’s a difference between Enterprise Resources and Project Resources.  Since I hadn’t populated my Project Resources, the TFS-to-Project Server sync was erroring because the TFS work item was assigned to someone who wasn’t (from the perspective of Project Server) actually working on the project.

To fix this:

1. Open your Enterprise Project plan in the desktop version of Microsoft Project
2. Click on the Resources tab
3. Click on the Add Resources button and choose Build Team from Enterprise as shown in Figure 3

SNAGHTML5bf1bf
Figure 3. Choose Build Team from Enterprise

4. Add Enterprise Resources as Project Resources as shown in Figure 4

SNAGHTML5d404b
Figure 4. Add Enterprise Resources from the left to the Project Resources on the right

5. Click OK
6. Publish the project plan to Project Server (Figure 5).  Click on the File tab, then click Info, and then click Publish.

SNAGHTML60ad9e
Figure 5. Publish the project plan to Project Server

Issue #3: Edits to the Enterprise Project Plan are not replicating to TFS

When you make edits to a project plan in Microsoft Project and then close the file, you’ll get a dialog (Figure 6) that will ask you if you want to save your changes and check in.

SNAGHTML6473d9

Figure 6. The Project Plan save and check in dialog

I made a bunch of changes to my Enterprise Project Plan and thought that just because I’d set the "Publish to Team Project” value to “yes” (Figure 7) that my Save & Check In would cause them to go back to TFS from Project Server.

[SNAGHTML68b848](http://www.benday.com/images/blog_benday_com/Windows-Live-Writer/Two-possibl e-causes-for-TFS-to-Project-S_62C6/SNAGHTML68b848.png)
Figure 7. To sync items in your plan with TFS, marked adjust the Publish to Team Project value

Turns out that there’s a difference between Checking In a project plan and actually publishing a project plan. If you check in, it isn’t fully available to the rest of Microsoft Project Server. The changes are only available to Project Server after you’ve Published them.  Once Project Server can see them, then the sync to TFS will see them, too.

To Publish from Microsoft Project, click on the File tab, then click Info, and then click the Publish button as shown in Figure 8.

SNAGHTML6c72ff
Figure 8. Publish your changes from Microsoft Project to Project Server

I hope this helps.

-Ben

-- Looking for help setting up Microsoft Project Server and configuring it to synchronize with Team Foundation Server?  Want some advice on how to run Scrum teams in a Waterfall-centric enterprise?  Drop us a line at info@benday.com.