1

Been evaluating the tool and has been great works a treat

just one question does - does the pipeline migrations work using azure devops on prem and doesnt seem to our i dont know how to configure them

reports

[17:51:53 ERR] Unhandled exception! System.InvalidOperationException: There is no endpoint named that or duplicates of the same name at MigrationTools.Endpoints.EndpointFactory.CreateEndpoint(String name) in D:\a\1\s\src\MigrationTools\Endpoints\EndpointFactory.cs:line 49 at MigrationTools.Processors.Processor.Configure(IProcessorOptions options) in D:\a\1\s\src\MigrationTools\Processors\Processor.cs:line 50 at MigrationTools.Processors.AzureDevOpsPipelineProcessor.Configure(IProcessorOptions options) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.Rest\Processors\AzureDevOpsPipelineProcessor.cs:line 37 at MigrationTools._EngineV1.Containers.ProcessorContainer.Configure() in D:\a\1\s\src\MigrationTools_EngineV1\Containers\ProcessorContainer.cs:line 61 at MigrationTools.MigrationEngine.Run() in D:\a\1\s\src\MigrationTools\MigrationEngine.cs:line 87 at MigrationTools.Host.ExecuteHostedService.b__5_1() in D:\a\1\s\src\MigrationTools.Host\ExecuteHostedService.cs:line 38 [17:51:53 INF] Application is shutting down...

{
"$type": "AzureDevOpsPipelineProcessorOptions",
"Enabled": true,
"MigrateBuildPipelines": true,
"MigrateReleasePipelines": true,
"MigrateTaskGroups": true,
"MigrateVariableGroups": true,
"MigrateServiceConnections": false,
"BuildPipelines": null,
"ReleasePipelines": null,
"RefName": null,
"SourceName": "xxxxxxxxxxx",
"TargetName": "xxxxxxxxxxx"
}
Tyche
  • 33
  • 5

1 Answers1

0

You have to create two "Endpoints" so the Pipeline Processor knows which ones to use. If you check out the source code here, you have nothing going in as the parameter:

MigrationTools.Endpoints.EndpointFactory.CreateEndpoint(String name) https://github.com/nkdAgility/azure-devops-migration-tools/blob/master/src/MigrationTools/Endpoints/EndpointFactory.cs

I had the same problem with Team Settings Processor. This link really helped me create the endpoint https://github.com/nkdAgility/azure-devops-migration-tools/pull/860/files

In the example below for the Team Settings Processor Options, your SourceName would TfsTeamSettingsSource and your TargetName would be TfsTeamSettingsTarget. I had to read the source code to figure out, "Authentication Mode" for AccessToken is 0; It wouldn't take the string "AccessToken" :|.

See the example below for the Team Settings Processor Options:

**Endpoints**": {
  "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://dev.azure.com/like10-demos/",
      "Project": "SourceProject",
      "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://dev.azure.com/like10-demos/",
      "Project": "TargetProject",
      "ReflectedWorkItemIdField": "ReflectedWorkItemId",
      "AuthenticationMode": "Prompt",
      "AllowCrossProjectLinking": false,
      "LanguageMaps": {
        "AreaPath": "Area",
        "IterationPath": "Iteration"
      }
    }
  ]      
},
Deciantis
  • 126
  • 9
  • Hi @Deciantis, I still do not understand what is an Endpoint in this context and how to create it. Can you please clarify it? – Zioalex Sep 28 '21 at 11:11