Azure DevOps本地版使用MigrationTools迁移流水线出现端点名称错误咨询
问题排查与解决方案
1. Azure DevOps本地版支持性说明
MigrationTools支持Azure DevOps Server(原TFS,本地部署版)的流水线迁移,适配版本为Azure DevOps Server 2019及更高版本,低于该版本的本地部署环境需要先升级到兼容版本后再执行迁移操作。
2. 报错根因定位
你遇到的There is no endpoint named that or duplicates of the same name错误属于配置匹配问题,触发原因仅包含两类:
- 配置文件的
Endpoints节点下,没有定义与当前Processor配置中SourceName、TargetName取值完全一致的端点条目 Endpoints节点下存在重名端点,或者SourceName/TargetName与端点配置的Name字段存在拼写、大小写、前后空格等匹配差异
你当前仅提供了Processor部分的配置,未提供Endpoints节点的配置,绝大多数情况下问题是缺失对应的端点配置,或者名称匹配错误。
3. 正确配置方法
完整的配置文件需要包含Endpoints(源/目标环境配置)和Processors(迁移任务配置)两个核心模块,配置示例如下:
3.1 端点(Endpoints)配置示例
{ "Endpoints": [ // 源端点:Azure DevOps本地版 { "$type": "AzureDevOpsEndpointOptions", "Name": "xxxxxxxxxxx", // 必须和Processor中的SourceName完全一致 "OrganizationUrl": "http://你的本地Azure DevOps Server地址/集合名称", "AccessToken": "你在本地Azure DevOps Server生成的PAT", "Project": "源项目名称" }, // 目标端点 { "$type": "AzureDevOpsEndpointOptions", "Name": "xxxxxxxxxxx", // 必须和Processor中的TargetName完全一致 "OrganizationUrl": "http://目标Azure DevOps地址/集合名称", "AccessToken": "目标环境PAT", "Project": "目标项目名称" } ], "Processors": [ // 流水线迁移Processor配置 { "$type": "AzureDevOpsPipelineProcessorOptions", "Enabled": true, "MigrateBuildPipelines": true, "MigrateReleasePipelines": true, "MigrateTaskGroups": true, "MigrateVariableGroups": true, "MigrateServiceConnections": false, "BuildPipelines": null, "ReleasePipelines": null, "RefName": null, "SourceName": "xxxxxxxxxxx", // 与源端点的Name字段完全一致 "TargetName": "xxxxxxxxxxx" // 与目标端点的Name字段完全一致 } ] }
3.2 配置校验要点
- 端点配置的
Name字段不能重复,且大小写敏感 - 本地版Azure DevOps Server的
OrganizationUrl必须填写到集合层级,不能仅填写根服务地址 - 本地版生成PAT时,需要开通构建和发布的读写权限,以及对应项目、集合的访问权限
内容的提问来源于stack exchange,提问作者Tyche
相关产品推荐
相关产品推荐

