使用 API 命令获取拉取请求的工作项的权限错误
Posted
技术标签:
【中文标题】使用 API 命令获取拉取请求的工作项的权限错误【英文标题】:Permissions Error using API command to get Workitems for a Pull Request 【发布时间】:2020-07-16 22:03:17 【问题描述】:我正在尝试获取所有工作项,链接到存储库中的所有拉取请求。
首先,我运行 API 命令来获取所有拉取请求: https://dev.azure.com/organization/project/_apis/git/pullrequests?api-version=5.1
效果很好。
然后遍历每个拉取请求,我尝试获取所有工作项 https://dev.azure.com/organization/project/_apis/git/repositories/repositoryId/pullRequests/pullRequestId/workitems?api-version=5.1
即使我是管理员,我仍然会收到此错误: 内部异常 : 空值 信息 : TF401019: 名称或标识符为 MY Repo ID 的 Git 存储库不存在,或者您没有尝试执行操作的权限。 类型名称 : Microsoft.TeamFoundation.Git.Server.GitRepositoryNotFoundException,Microsoft.TeamFoundation.Git.Server 类型键 : GitRepositoryNotFoundException 错误代码 : 0 事件ID : 300
谁能帮我弄清楚如何为拉取请求获取这些相关工作项?
API 网页:https://docs.microsoft.com/en-us/rest/api/azure/devops/git/pull%20requests?view=azure-devops-rest-5.1 https://docs.microsoft.com/en-us/rest/api/azure/devops/git/pull%20request%20work%20items/list?view=azure-devops-rest-5.1
【问题讨论】:
也许这会有所帮助:***.com/a/50789785/6309 【参考方案1】:我知道出了什么问题。
当使用 API 调用获取给定拉取请求的工作项时,我使用的是从上一个命令返回的 RepoID 字段。 我必须使用 Repo 名称,而不是使用 RepoID 作为 New Command 中的 Repo ID 来获取工作项。
所以解决方案是使用这个: value.0.repository.name 而不是这个: value.0.repository.id 从第一次调用获取拉取请求。
【讨论】:
你可以mark your reply as an answer,这也将帮助社区中的其他人。以上是关于使用 API 命令获取拉取请求的工作项的权限错误的主要内容,如果未能解决你的问题,请参考以下文章
在 Bitbucket 中创建拉取请求:错误“不相关的分支”
API Facebook 营销错误:不支持的获取请求。 ID 为 XXXXXX 的对象不存在,由于缺少权限而无法加载