【问题标题】:Authorization issue when trying to get build work items尝试获取构建工作项时的授权问题
【发布时间】:2021-09-12 14:27:04
【问题描述】:

我正在尝试在 Azure DevOps 中获取与构建相关的工作项。 PAT 令牌具有完全访问权限,但它会引发授权错误。

https://docs.microsoft.com/en-us/rest/api/azure/devops/build/builds/get-build-work-items-refs-from-commits?view=azure-devops-rest-6.0

var attachment = buildClient.GetBuildWorkItemsRefsFromCommitsAsync(oenum, projectName, buildRunId).Result;

错误日志:

VS30063: You are not authorized to access https://dev.azure.com.

   at Microsoft.VisualStudio.Services.Common.VssHttpMessageHandler.<SendAsync>d__17.MoveNext()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Microsoft.VisualStudio.Services.Common.VssHttpRetryMessageHandler.<SendAsync>d__4.MoveNext()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__51.MoveNext()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.TeamFoundation.Build.WebApi.BuildHttpClientCompatBase.<SendAsync>d__44`1.MoveNext()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.TeamFoundation.Build.WebApi.BuildHttpClientCompatBase.<SendAsync>d__43`1.MoveNext()

【问题讨论】:

    标签: azure-devops azure-pipelines azure-devops-rest-api azure-sdk-.net


    【解决方案1】:

    VS30063:你无权访问https://dev.azure.com

    首先可以使用 PAT 直接运行 Rest API:Builds - Get Build Work Items Refs From Commits

    如果它可以正常工作,这意味着 PAT 有足够的权限来运行 API。

    在这种情况下,您可以清除 VS 中缓存的凭据,然后再次运行您的代码。

    步骤如下:

    1. 执行regedit
    2. HKEY_CURRENT_USER\Software\Microsoft\VSCommon\14.0\ClientServices\TokenStorage\VisualStudio\VssApp 下的清理密钥
    3. 重启VS
    4. 使用 PAT 运行您的项目。

    或者您可以导航到C:\Users\username(Team Explorer user name)\AppData\Local\Microsoft\Team Foundation\8.0\Cache 并删除缓存文件夹以清除缓存的凭据。

    【讨论】:

      猜你喜欢
      • 2020-11-11
      • 2016-04-29
      • 1970-01-01
      • 2019-08-04
      • 1970-01-01
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      • 2013-05-17
      相关资源
      最近更新 更多