0

我正在尝试使用 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

这是我的配置.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"
        }
      }
    ]      
  }
}

我尝试过的事情:

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

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

4

1 回答 1

0

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

这个问题的根本原因是目标项目没有与源项目相同的迭代面积。

要解决这个问题,您需要在Source Project -> Project Settings -> Team Configuration -> Select Team -> Iteartion / Area 选项卡中检查Backlog 迭代Default 区域

在此处输入图像描述

在此处输入图像描述

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

在此处输入图像描述

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

例如:

在此处输入图像描述

于 2021-02-24T05:30:55.853 回答