使用 C# REST API 从 TFS 获取用户身份

Posted

技术标签:

【中文标题】使用 C# REST API 从 TFS 获取用户身份【英文标题】:Fetch user identities from TFS using C# REST API 【发布时间】:2021-11-27 17:56:36 【问题描述】:

在我们用来获取用户身份的 OM API 中,我们可以对多个值进行搜索,例如: 当我们设置 IdentitySearchFilter = IdentitySearchFilter.DisplayName 时,我们能够提供多个用户显示名称来获取多个用户,我们如何在 C# REST API 中实现这一点,因为它只接受一个显示名称来获取其用户?

IdentitiesCollection identities =
                    identityHttpClient.ReadIdentitiesAsync(IdentitySearchFilter.DisplayName, displayName[0]).Result;

我有一个 displayNames 列表,可以在一次调用 TFS 时获取用户。

【问题讨论】:

这个问题有什么更新吗? 暂无更新,我认为他们还没有在 REST API 中实现此方法。 【参考方案1】:

以下代码将帮助您获取所有用户列表:

foreach(var displayName in displayNames)

    var result = await client.ReadIdentitiesAsync(IdentitySearchFilter.DisplayName, displayName).Result;

foreach(var displayName in displayNames)

    IdentitiesCollection identities = identityHttpClient.ReadIdentitiesAsync(IdentitySearchFilter.DisplayName, displayName).Result;

引用类似的SO Thread 和MSFT documentation 以获取给定范围内的所有用户,this 用于获取组中的直接成员。

【讨论】:

我不想多次调用服务器,因为它会影响应用程序的性能。

以上是关于使用 C# REST API 从 TFS 获取用户身份的主要内容,如果未能解决你的问题,请参考以下文章

如何在 VSTS 仪表板小部件中使用 REST API 从 TFS 获取构建定义?

如何在 C# 中使用 rest api 从 github 为用户(人)获取数据?

如何使用 REST API 在 PowerShell 中获取 TFS 构建报告 [重复]

为啥用于获取 TFVC 变更集的 TFS Rest API 仅返回 256 个项目?

TFS Rest API - 通过测试用例名称或标题获取测试用例

通过 REST API 将测试结果发布到 TFS 2018 测试用例