部署Linux Ubuntu自托管代理时_apis/distributedtask/packages/agent端点调用失败
问题
按照Microsoft Learn文档部署Linux Ubuntu自托管Azure DevOps代理时,start.sh脚本第一步获取可用包列表失败。手动执行curl命令排查:
curl -LsS -u user:{PAT-TOKEN} -H "Accept:application/json" "https://{devps-organization}/{devops-project}/_apis/distributedtask/packages/agent?platform=linux-x64&top=1"
返回错误:
The controller for path '/{devops-project}/_apis/distributedtask/packages/agent' was not found or does not implement IController.
Microsoft Learn中无该_apis/distributedtask/packages/agent端点的公开文档,此前有信息显示该API曾可用,但现在调用失败,怀疑未公开API已被停用。请问目前是否还能通过该端点获取项目包列表?
解答
现状确认
_apis/distributedtask/packages/agent属于Azure DevOps的未公开内部API,微软从未将其纳入官方文档范畴,这类端点无官方支持,随时可能被移除或变更。目前该端点已无法正常调用,你遇到的错误就是端点被停用的直接结果。
替代方案
- 从Azure DevOps界面获取代理包:登录你的Azure DevOps组织,进入
项目设置 > 代理池,选中目标代理池后点击新建代理,即可获取对应平台(如Linux-x64)的代理安装包下载链接和最新部署步骤。 - 使用官方公开API:如需程序化管理代理,可使用官方公开的代理池相关API,但官方并未提供通过API直接获取代理安装包列表的公开接口,建议以界面指引为准。
- 更新部署脚本:旧的
start.sh脚本依赖已失效的API,建议从Azure DevOps界面重新获取最新的部署脚本,确保使用的是官方维护的有效路径。
注意事项
切勿依赖任何未公开的Azure DevOps API,这类接口无版本承诺和技术支持,一旦变更会直接导致部署流程中断。始终以Microsoft Learn最新文档或Azure DevOps平台内的官方指引作为部署依据。
内容的提问来源于stack exchange,提问作者Antonello G. Bianchi
相关产品推荐
相关产品推荐

