azure-devops - VSTS 拉取请求 API - 如何获取 IdentityRef
问题描述
我正在使用 VSTS Pullrequest 创建 API 方法来自动创建 PR,在请求中我需要为 createdby/autocompleteby/reviewers 属性提供各种 IdentityRef id 值。在我的情况下,我所拥有的只是用户详细信息(如全名、电子邮件地址 - user1@domain.com),在这种情况下,我如何检索 IdentityRef Guid 以便我可以将其传递给 PR Create API。
任何帮助表示赞赏。
解决方案
1) 使用Graph - List Users,但还要检查X-MS-ContinuationToken响应标头以确定是否还有其他分页数据要检索。如果是这样,请使用延续令牌值重新发送请求,直到返回所有值:
GET https://vssps.dev.azure.com/{organization}/_apis/graph/users?api-version=5.0-preview.1
, 其次是GET https://vssps.dev.azure.com/{organization}/_apis/graph/users?continuationToken={continuationToken}&api-version=5.0-preview.1
(我想知道这是否就是为什么您在上面的评论中只能获得 500 个用户。不幸的是,文档没有列出此 API 的最大页面大小。如果您使用的是延续令牌并且没有返回所有用户,这对我来说听起来像是一个 API 错误。)
2)使用获取用户权利。这提供了top和skip参数。根据文档,顶部参数有 10000 条记录限制。
GET https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?top=10000&api-version=5.0-preview.2
推荐阅读
- c# - WPF 应用程序无限进度条不显示,但进程正在后台运行
- ms-access - 更改子报表记录源时出错:“您输入的表达式对属性表单/报表的引用无效”
- java - 如何控制 peek 以区别对待最后一个元素?
- vim - 如何使用与默认 .vimrc 不同的 .vimrc
- jira - 消除 Jira 中的原因字段
- mysql - 获取Mysql中id不同的那些行
- angularjs - 缩小后,AngularJS 应用程序未在 Safari 浏览器(<10.1 版本)中加载
- android - IBM MobileFirst 7.1 Cordova Camera 插件在 LG 手机中保存图片
- newrelic - 千分尺添加自定义参数
- xamarin - Xamarin Mobile 与 IdentityServer 3