TfsTeamSettingsProcessor failure with "You have not set your team field"

2.5k views Asked by At

I am trying to migrate a team from TFS to Azure DevOps using the Azure-devops-migration-tool by nkdagility: https://nkdagility.github.io/azure-devops-migration-tools/

Upon trying to move a specific team from TFS to ADO, I am getting the following error:


[15:06:52 INF] TfsWorkItemEndPoint::GetTfsCollection: Access granted to https://tfs.redacted-inc.com/RAD/ for REDACTED (redacted\MtQadir)
[15:06:52 INF] TfsTeamSettingsProcessor::InternalExecute: Found 8 teams in Source?
[15:06:53 INF] TfsWorkItemEndPoint::GetTfsCollection: Access granted to https://redacted.visualstudio.com/ for Muhammad Talha Qadir ([email protected])
[15:06:53 INF] -> Settings found for team 'JetCenter'..
[15:06:53 FTL] Error while running TfsTeamSettingsProcessor
System.Web.Services.Protocols.SoapException: TF400499: You have not set your team field.
   at Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.HandleReply(TfsClientOperation operation, TfsMessage message, Object[]& outputs)
   at Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.Invoke(TfsClientOperation operation, Object[] parameters, TimeSpan timeout, Object[]& outputs)
   at Microsoft.TeamFoundation.ProcessConfiguration.Client.TeamConfigurationService.SetTeamSettings(Guid teamId, TeamSettings teamSettings)
   at Microsoft.TeamFoundation.ProcessConfiguration.Client.TeamSettingsConfigurationService.SetTeamSettings(Guid teamId, TeamSettings settings)
   at MigrationTools.Processors.TfsTeamSettingsProcessor.MigrateTeamSettings() in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\Processors\TfsTeamSettingsProcessor.cs:line 147
   at MigrationTools.Processors.TfsTeamSettingsProcessor.InternalExecute() in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\Processors\TfsTeamSettingsProcessor.cs:line 45
   at MigrationTools.Processors.Processor.Execute() in D:\a\1\s\src\MigrationTools\Processors\Processor.cs:line 78

This is my configuration.json:

{
  "ChangeSetMappingFile": null,
  "Source": {
    "$type": "TfsTeamProjectConfig",
    "Collection": "https://tfs.REDACTED-inc.com/RAD/",
    "Project": "REDACTED",
    "ReflectedWorkItemIDFieldName": "TfsMigrationTool.ReflectedWorkItemId",
    "AllowCrossProjectLinking": false,
    "AuthenticationMode": "Prompt",
    "PersonalAccessToken": "",
    "LanguageMaps": {
      "AreaPath": "Area",
      "IterationPath": "Iteration"
    }
  },
  "Target": {
    "$type": "TfsTeamProjectConfig",
    "Collection": "https://REDACTED.visualstudio.com/",
    "Project": "redactedPOC",
    "ReflectedWorkItemIDFieldName": "ReflectedWorkItemId",
    "AllowCrossProjectLinking": false,
    "AuthenticationMode": "Prompt",
    "PersonalAccessToken": "",
    "LanguageMaps": {
      "AreaPath": "Area",
      "IterationPath": "Iteration"
    }
  },
  "FieldMaps": [],
  "GitRepoMapping": null,
  "LogLevel": "Information",
  "Processors": [
    
    {
      "$type": "TfsTeamSettingsProcessorOptions",
      "Enabled": true,
      "MigrateTeamSettings": true,
      "UpdateTeamSettings": true,
      "PrefixProjectToNodes": false,
      "Teams": ["JetCenter"],
      "ProcessorEnrichers": null,
      "SourceName": "TeamSettingsSource",
      "TargetName": "TeamSettingsTarget"        
      },
    {
      "$type": "WorkItemMigrationConfig",
      "Enabled": false,
      "ReplayRevisions": true,
      "PrefixProjectToNodes": false,
      "UpdateCreatedDate": true,
      "UpdateCreatedBy": true,
      "BuildFieldTable": false,
      "AppendMigrationToolSignatureFooter": false,
      "WIQLQueryBit": "AND [System.AreaPath] UNDER 'Project/Team/' AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan')",
      "WIQLOrderBit": "[System.ChangedDate] desc",
      "LinkMigration": true,
      "AttachmentMigration": true,
      "AttachmentWorkingPath": "c:\\temp\\WorkItemAttachmentWorkingFolder\\",
      "FixHtmlAttachmentLinks": false,
      "SkipToFinalRevisedWorkItemType": true,
      "WorkItemCreateRetryLimit": 5,
      "FilterWorkItemsThatAlreadyExistInTarget": true,
      "PauseAfterEachWorkItem": false,
      "AttachmentMaxSize": 480000000,
      "CollapseRevisions": false,
      "LinkMigrationSaveEachAsAdded": false,
      "GenerateMigrationComment": true,
      "NodeBasePaths": [],
      "WorkItemIDs": null
    }
  ],
  "Version": "11.9",
  "workaroundForQuerySOAPBugEnabled": false,
  "WorkItemTypeDefinition": {
    "sourceWorkItemTypeName": "targetWorkItemTypeName"
  },
  "Endpoints": {
    "InMemoryWorkItemEndpoints": [
      {
        "Name": "Source",
        "EndpointEnrichers": null
      },
      {
        "Name": "Target",
        "EndpointEnrichers": null
      }
    ],
    "TfsTeamSettingsEndpoints": [
      {
        "Name": "TeamSettingsSource",
        "AccessToken": "",
        "Query": {
          "Query": "SELECT [System.Id], [System.Tags] FROM WorkItems WHERE [System.TeamProject] = @TeamProject AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan') ORDER BY [System.ChangedDate] desc"
        },
        "Organisation": "https://tfs.REDACTED-inc.com/RAD/",
        "Project": "REDACTED",
        "ReflectedWorkItemIdField": "ReflectedWorkItemId",
        "AuthenticationMode": "Prompt",
        "AllowCrossProjectLinking": false,
        "LanguageMaps": {
          "AreaPath": "Area",
          "IterationPath": "Iteration"
        }
      },
      {
        "Name": "TeamSettingsTarget",
        "AccessToken": "",
        "Query": {
          "Query": "SELECT [System.Id], [System.Tags] FROM WorkItems WHERE [System.TeamProject] = @TeamProject AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan') ORDER BY [System.ChangedDate] desc"
        },
        "Organisation": "https://REDACTED.visualstudio.com/",
        "Project": "JetCenterPOC",
        "ReflectedWorkItemIdField": "ReflectedWorkItemId",
        "AuthenticationMode": "Prompt",
        "AllowCrossProjectLinking": false,
        "LanguageMaps": {
          "AreaPath": "Area",
          "IterationPath": "Iteration"
        }
      }
    ]      
  }
}

Things I have tried:

  1. Made sure that the team I would like to migrate exists in TFS
  2. Made sure that the project names and everything is correct.
  3. Made a target team with the same name as the one from TFS. That didn't do anything either.

If someone could please help me out, that would be great! IDK where this team field not being set is coming from.

1

There are 1 answers

0
Kevin Lu-MSFT On

System.Web.Services.Protocols.SoapException: TF400499: You have not set your team field.

The root cause of this issue is that the target project does not have the same Iteration and Area as the source project.

To solve this issue, you need to check the Backlog iteration and Default area in Source Project -> Project Settings -> Team Configuration -> Select Team -> Iteartion / Area tab.

enter image description here

enter image description here

In the Target Project, you need to create the same Iteartion and Area in Project Settings -> Projecr Configuration.

enter image description here

Note: Unless the source project and the target project have the same name, you cannot set the iteration and area of the team to be migrated as the root node.

For example:

enter image description here