Issue [ TFS 2013 ] You get TF400324 when connecting InRelease to TFS

If you follow the documentation for the new InRelease 3 for Team Foundation Server 2013 “TF400324: Team Foundation Services are not available from server” with a remote server error of 404.

  • Update 2013-07-12 Removed Solution #1 as it causes more problems down the line
  • Update 2013-07-12 Added Solution #2 from InCycle but DO NOT do what their documentation suggests or you might end up with an unstable TFS Server.
  • Update 2013-07-12 Added Solution #3 which solves the problem in a supported manor with the TFS API.

Figure: TF400324: Team Foundation Services are not available from server

Applies to

  • InRelease 3
  • Team Foundation Server 2013


This looks  to be a mistake in the documentation for the product. When they say “Enter the URL for the TFS Server” you think that you should enter http://caprica:8080/tfs when in fact you should be entering the full path to the collection that you want to connect to.

Solution #1

You need to enter http://caprica:8080/tfs/[collection] which you can get by copying it from the web access.

Figure: Use the full collection URL instead of the server

Now when you connect with http://caprica:8080/tfs/tfs01-scrum/ you should not get a 404 any more…

Solution #2 – Call Support

Warning Never update the database without explicit instructions from a member of the product team. You will likely end up with an unsupported instance if you much with the database.

At this time there is no solution for this. The solution provided on the InCycle page listed below will work but it will leave your TFS server in an unsupported state and may result in instabilities in your TFS instance down the road.

Raise a ticket with MSFT customer services and get your server into a supported state…

Solution #3 – Use PowerShell to update the TFS registery

I knew that if I worked at this long enough that I would find a solution that does not require that you edit the database. Here is a handy dandy PowerShell script that you can save as Set-DefaultCollection.ps1, double click to copy, and then execute.

 This PowerShell will first ask you to select the collection that you would like to be the default and then apply that to TFS. You should then be able to connect InRelease correctly to TFS.

I still think that this is a silly requirement of the product and at the very least it should ask which collection that you want to be the default and set it for you…


  • Jonathan Rajotte

    Hi Martin,

    the solution you found will cause you problems later on. The initial 404 you received is due to the fact there is no default collection set up for your TFS. Here is an article that describes how to fix it:

    Jonathan Rajotte

    • Requiring me to setup a DefaultCollection is not a good solution. Why would I want a collection that I don’t use floating around. I have only a few customers that have a collection called “DefaultCollection” and you should not force them into having one.

      The statement “The reason a 404 error is returned is because there is no default collection set up in the TFS installation. InRelease used the TFS API, but they won’t work properly in that case.” on your KB is incorrect as this is not an issue with the TFS API but in how you are using it… I would recommend that you correct your code to not require a DefaultCollection so that this works for all customers and not just the happy path out of the box…

      • Jonathan Rajotte

        Hey Martin,

        We are not suggesting to have a collection named “DefaultCollection”. But instead, your TFS installation should have one of your collection that is set as your default.

        • @jonathanrajotte:disqus you should NEVER suggest that a customer edit the TFS Databases directly. Doing so will negate any support that is provided by MSFT for the product. If a customer needs to edit the database they should raise a support call with MSFT to do so…

          • @MrHinsh, good point. We have the same view on this. However, we have an API limitation that we’ll now be in a position to influence its correction that unfortunately forces us to ensure a “default collection” is specified. If you know of a less intrusive way to set the default collection we would appreciate you sharing it with us. In the meantime, we will ensure a warning is added to the documentation.

          • DONE – See PowerShell above for a fully supported way to set the default collection using the API.

          • Excellent! Thanks for the solution.

  • Kevin Price

    thanks Martin. that worked using your powershell script. Look forward to a better installation process across the board as this is updated and streamlined. many hoops that have to go through in order to make this work.