如何获取Azure DevOps中GitHub服务连接的认证令牌
解决Azure DevOps API无法获取GitHub服务连接令牌的问题
问题原因
Azure DevOps的GET /_apis/serviceendpoint/endpoints API默认不会返回敏感凭据信息(比如GitHub令牌),即便拥有管理员权限,返回结果里的authorization字段也仅包含scheme,不会带出存储令牌的parameters。
解决方案
要获取包含令牌的完整authorization信息,需调用单个服务连接的详情API,并添加includeAuthorization=true参数:
GET https://dev.azure.com/{organization}/{project}/_apis/serviceendpoint/endpoints/{endpointId}?api-version=7.0&includeAuthorization=true
操作步骤
- 先用你原本的API请求获取目标GitHub服务连接的
id字段; - 将上述API中的
{endpointId}替换为拿到的服务连接ID; - 发起请求后,返回结果的
authorization.parameters中就会包含存储的GitHub令牌(通常对应accessToken字段)。
权限补充验证
确保调用身份(Project Collection Build Service或项目级Build Service账号)同时拥有:
- 项目级的服务连接管理员权限;
- 目标GitHub服务连接的管理员权限(可在服务连接的安全设置中配置)。
内容的提问来源于stack exchange,提问作者Darek
相关产品推荐
相关产品推荐

