a·gen·tic a·gil·i·ty

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

TL;DR; Explains how to resolve TF400324 errors when connecting InRelease 3 to TFS 2013, including correct URL usage and a supported PowerShell fix for collection paths.

Published on
3 minute read
Image
https://nkdagility.com/resources/mpyXOBzFWc3
Subscribe

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.

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

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

Applies to

Findings

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.

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

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.

 1 Param(
 2       [string] $tfscollection
 3       )
 4Add-Type -AssemblyName "Microsoft.TeamFoundation.Client, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
 5Add-Type -AssemblyName "Microsoft.TeamFoundation.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
 6Add-Type -AssemblyName "Microsoft.TeamFoundation, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
 7if ($tfscollection)
 8{
 9    #if collection is passed then use it and select all projects
10    $tfs = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($CollectionUrlParam)
11    $project = $(Read-Host -prompt "Project")
12}
13else
14{
15    #if no collection specified, open project picker to select it via gui
16    $picker = New-Object Microsoft.TeamFoundation.Client.TeamProjectPicker([Microsoft.TeamFoundation.Client.TeamProjectPickerMode]::NoProject, $false)
17    $dialogResult = $picker.ShowDialog()
18    if ($dialogResult -ne "OK")
19    {
20        exit
21    }
22    $tfs = $picker.SelectedTeamProjectCollection
23}
24try
25{
26    $tfs.EnsureAuthenticated()
27}
28catch
29{
30    Write-Error "Error occurred trying to connect to project collection: $_ "
31    exit 1
32}
33$regsvc = $tfs.ConfigurationServer.GetService("Microsoft.TeamFoundation.Framework.Client.ITeamFoundationRegistry");
34Write-Host "Setting DefaultCollection to $($tfs.InstanceId)($($tfs.Name)) on $($tfs.ConfigurationServer.Uri)" -ForegroundColor Yellow
35$regsvc.SetValue("/Configuration/DefaultCollection", $tfs.InstanceId)

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…

Smart Classifications

Each classification [Concepts, Categories, & Tags] was assigned using AI-powered semantic analysis and scored across relevance, depth, and alignment. Final decisions? Still human. Always traceable. Hover to see how it applies.

Subscribe

Connect with Martin Hinshelwood

If you've made it this far, it's worth connecting with our principal consultant and coach, Martin Hinshelwood, for a 30-minute 'ask me anything' call.

Our Happy Clients​

We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.​

Genus Breeding Ltd Logo

Genus Breeding Ltd

NIT A/S

Schlumberger Logo

Schlumberger

Higher Education Statistics Agency Logo

Higher Education Statistics Agency

Ericson Logo

Ericson

Illumina Logo

Illumina

Emerson Process Management Logo

Emerson Process Management

ALS Life Sciences Logo

ALS Life Sciences

Lean SA Logo

Lean SA

Alignment Healthcare Logo

Alignment Healthcare

Qualco Logo

Qualco

New Signature Logo

New Signature

Boxit Document Solutions Logo

Boxit Document Solutions

Boeing Logo

Boeing

CR2

DFDS Logo

DFDS

Philips Logo

Philips

MacDonald Humfrey (Automation) Ltd. Logo

MacDonald Humfrey (Automation) Ltd.

Nottingham County Council Logo

Nottingham County Council

Department of Work and Pensions (UK) Logo

Department of Work and Pensions (UK)

Washington Department of Transport Logo

Washington Department of Transport

Royal Air Force Logo

Royal Air Force

New Hampshire Supreme Court Logo

New Hampshire Supreme Court

Washington Department of Enterprise Services Logo

Washington Department of Enterprise Services

YearUp.org Logo

YearUp.org

Qualco Logo

Qualco

Boeing Logo

Boeing

Bistech Logo

Bistech

ALS Life Sciences Logo

ALS Life Sciences

MacDonald Humfrey (Automation) Ltd. Logo

MacDonald Humfrey (Automation) Ltd.