Ошибка TfsTeamSettingsProcessor с "Вы не установили поле своей команды"

Я пытаюсь перенести команду с TFS на Azure DevOps с помощью инструмента Azure-DevOps-migration-tool от nkdagility: 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

Это мой файл 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"
        }
      }
    ]      
  }
}

Вещи, которые я пробовал:

  1. Убедился, что команда, которую я хочу перенести, существует в TFS
  2. Убедился, что название проекта и все правильно.
  3. Создал целевую команду с тем же названием, что и у TFS. Это тоже ничего не дало.

Если бы кто-нибудь мог мне помочь, это было бы здорово! IDK, откуда это поле команды не устанавливается.

1 ответ

System.Web.Services.Protocols.SoapException: TF400499: вы не установили поле своей группы.

Основная причина этой проблемы заключается в том, что целевой проект не имеет той же Итерации и Области, что и исходный проект.

Чтобы решить эту проблему, необходимо проверить нерассмотренную итерацию и по умолчанию области в Source Project -> Параметры проекта -> Конфигурация команды -> Выбор команда -> вкладка Iteartion / Area .

В целевом проекте вам нужно создать те же Iteartion и Area в Project Settings -> Projecr Configuration .

Примечание. Если исходный проект и целевой проект не имеют одинакового имени, вы не можете установить итерацию и область переносимой группы в качестве корневого узла.

Например:

Другие вопросы по тегам