基于本地DevOps 2019 API生成PAT的方法及文档查询
本地Azure DevOps Server 2019通过API生成PAT(用户名+密码认证)
核心API端点与认证方式
本地Azure DevOps Server 2019的PAT生成API不依赖AAD,而是支持用户名+密码的NTLM认证,对应的端点为:POST http://<你的DevOps服务器地址>:8080/tfs/_apis/tokens/pats?api-version=6.0-preview.1
请求参数说明
请求需以JSON格式提交以下关键字段:
displayName: PAT的识别名称(例如"Docker Agent Auto-Renew PAT")scope: 权限范围,代理池管理需至少指定AgentPoolManage,若需更细粒度权限可使用vso.agentpools_manage等validTo: 有效期,可设置为远期日期(比如2034-12-31T23:59:59,突破默认1年限制)isPublic: 设为false(非公开令牌)
示例请求(curl)
curl -X POST "http://<DevOps服务器IP>:8080/tfs/_apis/tokens/pats?api-version=6.0-preview.1" \ --ntlm -u "DOMAIN\用户名:密码" \ -H "Content-Type: application/json" \ -d '{ "displayName": "Docker Agent Auto-Renew PAT", "scope": "AgentPoolManage", "validTo": "2034-12-31T23:59:59", "isPublic": false }'
返回结果中的patToken字段即为生成的PAT,该值仅返回一次,需妥善保存。
本地文档获取方法
- 服务器自带离线文档:直接访问
http://<你的DevOps服务器地址>:8080/tfs/_help,这是适配本地DevOps Server 2019的原生离线文档。 - 官方文档版本切换:在微软文档网站手动选择"Azure DevOps Server"而非"Azure DevOps Services",若切换后跳回在线版,可直接修改URL路径:将
azure-devops/services替换为azure-devops/server,再选择2019版本即可。
长期运行优化方案
若要实现系统永久运行,可编写定时脚本(如Cron或Docker Swarm定时任务):
- 在PAT到期前调用上述API生成新令牌
- 更新Docker代理服务的
AZP_TOKEN环境变量 - 重启代理服务完成令牌替换
内容的提问来源于stack exchange,提问作者MBender
相关产品推荐
相关产品推荐

