I work with azure-devops-migration-tools version 11.9.20.0.
I am trying to migrate an AZDO project to AZDO.
I created the same methodology structure on the source project, as on the target project.
But the process of migrating work items is entering a disastrous stage.
Here are the logs
[17:06:19 INF] ===============================================================================
[17:06:19 INF] v11.9.20.0
[17:06:19 INF] naked Agility with Martin Hinshelwood
[17:06:19 INF] Azure DevOps Migration Tools [Object Model]
[17:06:19 INF] ===============================================================================
[17:06:19 INF] Telemetry Note: We use Application Insights to collect telemetry on performance & feature usage for the tools to help our developers target features. This data is tied to a session ID that is generated and shown in the logs. This can help with debugging.
[17:06:19 INF] Start Time: 12/15/2020 17:06:19
[17:06:19 INF] Running with args: execute
[17:06:19 INF] OSVersion: Microsoft Windows NT 6.2.9200.0
[17:06:19 INF] Version: 11.9.20.0
[17:06:20 DBG] Hosting starting
[17:06:20 DBG] Starting with arguments: .\migration.exe execute -c .\configuration.json
[17:06:20 DBG] Starting with arguments: .\migration.exe execute -c .\configuration.json
[17:06:20 INF] Application started. Press Ctrl+C to shut down.
[17:06:20 INF] Hosting environment: Production
[17:06:20 INF] Content root path: C:\Tools\MigrationTools
[17:06:20 INF] Press Ctrl+C to shut down.
[17:06:20 DBG] Hosting started
info: MigrationTools._EngineV1.Configuration.EngineConfiguration[0]
Config Found, creating engine host
[17:06:20 INF] Creating Migration Engine 58417722-95e0-432b-a98e-ab78cf4e9499
[17:06:20 INF] ProcessorContainer: Of 1 configured Processors only 1 are enabled
[17:06:20 INF] ProcessorContainer: Adding Processor WorkItemMigrationContext
[17:06:20 INF] Logging has been configured and is set to: Information.
[17:06:20 INF] Max Logfile: Verbose.
[17:06:20 INF] Max Console: Debug.
[17:06:20 INF] Max Application Insights: Error.
[17:06:20 INF] The Max log levels above show where to go look for extra info. e.g. Even if you set the log level to Verbose you will only see that info in the Log File, however everything up to Debug will be in the Console.
[17:06:20 INF] FieldMapContainer: Adding FieldMap MultiValueConditionalMap for *
[17:06:20 INF] FieldMapContainer: Adding FieldMap FieldBlankMap for *
[17:06:20 INF] FieldMapContainer: Adding FieldMap FieldValueMap for *
[17:06:20 INF] FieldMapContainer: Adding FieldMap FieldToFieldMap for *
[17:06:20 INF] FieldMapContainer: Adding FieldMap FieldtoFieldMultiMap for *
[17:06:20 INF] FieldMapContainer: Adding FieldMap FieldToTagFieldMap for *
[17:06:20 INF] FieldMapContainer: Adding FieldMap FieldMergeMap for *
[17:06:20 INF] FieldMapContainer: Adding FieldMap RegexFieldMap for *
[17:06:20 INF] FieldMapContainer: Adding FieldMap FieldValuetoTagMap for *
[17:06:20 INF] FieldMapContainer: Adding FieldMap TreeToTagFieldMap for *
[17:06:20 INF] Beginning run of 1 processors
[17:06:20 INF] Processor: WorkItemMigration
[17:06:20 INF] Migration Context Start: WorkItemMigration
[17:06:20 INF] WorkItemMigrationContext::InternalExecute
[17:06:20 INF] TfsMigrationClient::GetDependantTfsCollection:AuthenticationMode(AccessToken)
[17:06:20 INF] TfsMigrationClient::GetDependantTfsCollection: Connecting with AccessToken
[17:06:20 INF] MigrationClient: Connecting to https://dev.azure.com/JPI-Ardian/
[17:06:21 INF] MigrationClient: validating security for {"IsContainer": false, "UniqueName": "jeremie.pichot@outlook.com", "Descriptor": {"Data": null, "Identifier": "0003400123433728@Live.com", "IdentityType": "Microsoft.IdentityModel.Claims.ClaimsIdentity", "$type": "IdentityDescriptor"}, "DisplayName": "Jérémie Pichot", "IsActive": true, "MemberOf": [], "Members": [], "TeamFoundationId": "86d9d40d-3585-6609-b525-12e458835a6c", "UniqueUserId": 0, "$type": "TeamFoundationIdentity"}
[17:06:21 INF] MigrationClient: Access granted to https://dev.azure.com/JPI-Ardian/ for Jérémie Pichot (jeremie.pichot@outlook.com)
[17:06:22 INF] TfsMigrationClient::GetDependantTfsCollection:AuthenticationMode(AccessToken)
[17:06:22 INF] TfsMigrationClient::GetDependantTfsCollection: Connecting with AccessToken
[17:06:22 INF] MigrationClient: Connecting to https://dev.azure.com/JPI-Ardian/
[17:06:22 INF] MigrationClient: validating security for {"IsContainer": false, "UniqueName": "jeremie.pichot@outlook.com", "Descriptor": {"Data": null, "Identifier": "0003400123433728@Live.com", "IdentityType": "Microsoft.IdentityModel.Claims.ClaimsIdentity", "$type": "IdentityDescriptor"}, "DisplayName": "Jérémie Pichot", "IsActive": true, "MemberOf": [], "Members": [], "TeamFoundationId": "86d9d40d-3585-6609-b525-12e458835a6c", "UniqueUserId": 0, "$type": "TeamFoundationIdentity"}
[17:06:22 INF] MigrationClient: Access granted to https://dev.azure.com/JPI-Ardian/ for Jérémie Pichot (jeremie.pichot@outlook.com)
[17:06:23 INF] Migrating all Nodes before the Processor run.
**[17:06:24 FTL] Error while running WorkItemMigration
System.InvalidOperationException: Sequence contains more than one element
at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
at MigrationTools.Enrichers.TfsNodeStructure.ProcessCommonStructure(String treeTypeSource, String sourceTarget, String treeTypeTarget, String projectTarget) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\ProcessorEnrichers\TfsNodeStructure.cs:line 286
at MigrationTools.Enrichers.TfsNodeStructure.MigrateAllNodeStructures() in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\ProcessorEnrichers\TfsNodeStructure.cs:line 263
at MigrationTools.Enrichers.TfsNodeStructure.ProcessorExecutionBegin(IProcessor processor) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\ProcessorEnrichers\TfsNodeStructure.cs:line 117
at VstsSyncMigrator.Engine.WorkItemMigrationContext.InternalExecute() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 94
at MigrationTools._EngineV1.Processors.MigrationProcessorBase.Execute() in D:\a\1\s\src\MigrationTools\_EngineV1\Processors\MigrationProcessorBase.cs:line 47
[17:06:24 ERR] WorkItemMigration The Processor MigrationEngine entered the failed state...stopping run
[17:06:24 INF] Application is shutting down...
[17:06:24 INF] Terminating: Application forcebly closed.
[17:06:24 INF] Application Ending
[17:06:24 INF] The application ran in 00:00:04.9048899 and finished at 12/15/2020 17:06:24**
Can you help me understand why the sequence contains more than one element?
This issue is solved in this ticket on github. I post the answer here. So it would be helpful for other members who get the same issue to find the solution easily.
In the configuration file, language maps are invalid:
"LanguageMaps": {
"AreaPath": "WorkItems-from",
"IterationPath": "WorkItems-from"
it should be:
"LanguageMaps": {
"AreaPath": "Area",
"IterationPath": "Iteration"
Also its not normal to comment out // "AuthenticationMode": "Prompt",
.