TfsTeamSettingsProcessor 失败并显示“您尚未设置团队字段”

问题描述

我正在尝试使用 nkdagility 的 Azure-devops-migration-tool 将团队从 TFS 迁移到 Azure DevOps:https://nkdagility.github.io/azure-devops-migration-tools/

在尝试将特定团队从 TFS 转移到 ADO 时,我收到以下错误


[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 (MtQadir@redacted-inc.com)
[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

这是我的配置文件

{
  "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","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,"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/","ReflectedWorkItemIdField": "ReflectedWorkItemId","LanguageMaps": {
          "AreaPath": "Area","IterationPath": "Iteration"
        }
      },{
        "Name": "TeamSettingsTarget","Organisation": "https://REDACTED.visualstudio.com/","Project": "JetCenterPOC","IterationPath": "Iteration"
        }
      }
    ]      
  }
}

我尝试过的事情:

  1. 确保我要迁移的团队存在于 TFS 中
  2. 确保项目名称和一切正确。
  3. 创建了一个与 TFS 同名的目标团队。那也没有任何作用。

如果有人可以帮助我,那就太好了!未设置此团队字段的 IDK 来自哪里。

解决方法

System.Web.Services.Protocols.SoapException:TF400499:您尚未设置团队字段。

此问题的根本原因是目标项目与源项目没有相同的迭代区域

要解决这个问题,您需要在源项目->项目设置->团队配置->选择团队中检查Backlog迭代默认区域 -> 迭代/区域选项卡

enter image description here

enter image description here

在Target Project中,您需要在Project Settings -> Projecr Configuration中创建相同的Iteartion和Area。

enter image description here

注意:除非源项目和目标项目同名,否则您不能将要迁移的团队的迭代和区域设置为根节点。

例如:

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...