TFS 2012, TF30170: State ‘In Progress’ does not exist
This wired error was throw by the TFS 2012 project creation wizard while atempting to create the first new project since applying the TFS 2012 Update 1 using Scrum 2.1 template. The full error text goes like this.
Error TF30170: The plugin Microsoft.ProjectCreationWizard.WorkItemTracking failed during task ProcessConfiguration from group WorkItemTracking. Explanation Plugin error text: “The following element contains an error: TaskWorkItems/States. TF400587: This element defines the states for work items that appear as tasks on your sprint backlog. Each state must exist in at least one of the work item types belong to category defined in: TaskWorkItems. The following states do not exist in any of the work item types: In Progress.”
The same error message has been known to appear on non Update 1 versions and is even reported as fixed by Microsoft on Connect and it seams it is not fixed, though the solution provided by Microsoft support does fix the problem. The bottom line is that the value in the TFS database for your collection is different that the one in the process template. In our case it appears this is an issue only with the Scrum 2.1 template so the following steps are for that template although all of the templates can be fixed in the same way
First of we must get the value of in the TFS database
In this query of course you have to replace the [Tfs_DefaultCollection] database name with your own tfs database for the collection in which your are trying to create the new team project. If the project creation wizard reports problem with some other state than you should replace the “In Progress” part with the state in question.
The query should produce something like this and here you can see the correct spelling of the constant in question.
Next up we have to download the process template from the process template manager to check the states defined for the process. So fire up VS 2012 and pop open the process template manager like so
then select, download the process template and hopefully save somewhere you remember like so
After downloading the process template navigate to the commonconfiguration.xml
Locate all of the instances of the “In Progress” string, you should note here that the Process template manager validation process is case sensitive while SQL is not (by default) and the problem is that the string in the database is “In progress” and in the config file is “In Progress”.
This seams to be a no-no, therefore change the casing in the config file to match the one in the database to fix your problem, save the file and upload it back to TFS trough the Process template manager.
Be on your merry way creating new team projects as much as your heart desires.