Ошибка 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"
}
}
]
}
}
Вещи, которые я пробовал:
- Убедился, что команда, которую я хочу перенести, существует в TFS
- Убедился, что название проекта и все правильно.
- Создал целевую команду с тем же названием, что и у TFS. Это тоже ничего не дало.
Если бы кто-нибудь мог мне помочь, это было бы здорово! IDK, откуда это поле команды не устанавливается.
1 ответ
System.Web.Services.Protocols.SoapException: TF400499: вы не установили поле своей группы.
Основная причина этой проблемы заключается в том, что целевой проект не имеет той же Итерации и Области, что и исходный проект.
Чтобы решить эту проблему, необходимо проверить нерассмотренную итерацию и по умолчанию области в Source Project -> Параметры проекта -> Конфигурация команды -> Выбор команда -> вкладка Iteartion / Area .
В целевом проекте вам нужно создать те же Iteartion и Area в Project Settings -> Projecr Configuration .
Примечание. Если исходный проект и целевой проект не имеют одинакового имени, вы не можете установить итерацию и область переносимой группы в качестве корневого узла.
Например: