You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过PowerShell调用Azure DevOps API创建工作项报401错误如何解决

Azure DevOps 本地TFS API调用401未授权报错排查方案

以下是按优先级排序的排查步骤:

1. 个人访问令牌(PAT)校验

  • 检查PAT有效期:确认你生成的PAT未超出设置的有效时间,过期PAT会直接触发401错误
  • 检查PAT权限范围:创建工作项需要PAT至少开启工作项(Work Items)写入权限,同时确认PAT是绑定到你请求的collection集合级别,而非更小的团队项目范围
  • 检查账号权限:PAT所属的账号必须拥有目标团队项目的工作项创建权限,权限不足也会返回401

2. 身份认证逻辑校验

  • 本地部署TFS的Basic认证规则为任意字符串:PAT,你当前的编码逻辑是正确的,可以临时添加一行Write-Host $base64AuthInfo确认编码结果无异常
  • 如果你当前登录的Windows账号本身就有TFS访问权限,可以尝试用集成认证测试:去掉Invoke-RestMethod的Headers参数,添加-UseDefaultCredentials参数,直接用当前账号权限发起请求,验证是否是PAT的问题

3. 请求地址校验

  • 确认baseurl中的集合名称collection和你的实际TFS集合名称完全一致,拼写错误会触发权限类报错
  • 确认API版本和TFS版本适配:TFS 2019对应api-version为5.0,如果你使用的是更低版本的TFS(如TFS 2018对应4.1版本),需要修改api-version参数为适配的版本号

4. 请求体格式修正

你当前的JSON请求体存在语法错误,部分服务端会将格式错误的请求拦截后伪装返回401,避免暴露内部逻辑。需要修改CreateJsonBody函数中System.Title的赋值行,给变量$title加上双引号保证JSON格式合法:

{
"op": "add",
"path": "/fields/System.Title",
"value": "$title"
}

内容的提问来源于stack exchange,提问作者Ankit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 05:18:01