基于用户名/别名作为 azure devops 中的参数获取用户/用户详细信息

Posted

技术标签:

【中文标题】基于用户名/别名作为 azure devops 中的参数获取用户/用户详细信息【英文标题】:Getting user/users details based on user name/alias as parameter in azure devops 【发布时间】:2020-01-26 08:25:11 【问题描述】:

我有一个在 azure devops 中创建工作项的工具(Web 应用程序)。 (跳过不必要的细节),就像我们如何从 azure devops 中的“分配给”下拉列表中为任何用户分配特定工作项一样,我也有一个下拉列表,当用户输入任何名称/别名时,用户列表开始显示基于输入。 我在后端使用的 api 是 https://abcorganization.vsaex.visualstudio.com/_apis/UserEntitlements?top=10&filter=name+eq+%27Tejas

这里查询参数中的filter=name+eq+%27Tejas帮助查询api,用来给一组名字以Tejas开头的用户。它也可以是电子邮件别名。 但由于某种原因,它不再起作用了。我猜,他们已经弃用了那个 API 版本

因此,在寻找替代方案/答案的过程中,我发现了以下文档: (https://docs.microsoft.com/en-us/rest/api/azure/devops/graph/users/get?view=azure-devops-rest-5.1),其中给出的API是:https://vssps.dev.azure.com/abcorganization/_apis/graph/users/userDescriptor?api-version=5.1-preview.1

这里的 userDescriptor 是与特定用户相关的 AAD 的某种唯一键。 (我当然不能用它来实现我的目的)。

我尝试过的另一件事是以下查询参数,但仍然没有成功 https://vssps.dev.azure.com/abcorganization/_apis/graph/users?subjectTypes=subjectTypes&continuationToken=continuationToken&api-version=5.1-preview.1

那么无论如何/api 可以满足我的目的,还是我以错误的方式使用这个新的 API 还是什么? 任何帮助将不胜感激

【问题讨论】:

它仍然对我有用。你是什​​么意思“不再工作”,你没有过滤就得到结果吗? Wired... 在我这边,它返回一个过滤结果。如果visualstudio.com...,你可以试试vsaex.dev.azure.com/organization吗? 是的@ShaykiAbramczyk,我确实尝试过,仍然返回计数为零。没有引发异常 可以试试加&api-version=5.0-preview.2 这仍然可以通过多种方式“起作用”。例如,您可以使用 IdentityHttpClient 类,该类允许您使用他们的电子邮件 ID 或名称针对 Azure DevOPS 查询/搜索用户。但关键是它们似乎都不再受到支持。几乎所有这些都是未记录/非官方的解决方法或解决方案,MS 明确表示它们不受支持。我正在寻找正确的官方推荐方式。 【参考方案1】:

我相信查询中应该是$filter。您还缺少结束语。

(详情请见docs)

https://abcorganization.vsaex.visualstudio.com/_apis/UserEntitlements?top=10&$filter=name+eq+'Tejas'

【讨论】:

$filter&filter? @Victor &$filter 换句话说-两者都有:)【参考方案2】:

使用这个。我对其进行了测试并为我工作: https://vsaex.dev.azure.com/organization/_apis/userentitlements?$filter=name+eq+%27name%27&api-version=6.0-preview.3

根据需要替换 organization 和 name

【讨论】:

以上是关于基于用户名/别名作为 azure devops 中的参数获取用户/用户详细信息的主要内容,如果未能解决你的问题,请参考以下文章

在 Azure Devops 中为基于 Python 的 Azure Function 设置发布管道的正确方法

使用 ACR(天蓝色容器注册表)作为 Azure Devops json 管道的输入

工作项模板的 Azure DevOps Services 权限

如何将 TFVC 项目从 Azure DevOps 服务器迁移到新的 Azure DevOps 帐户作为 Git 存储库

无法使用服务主体从发布管道访问 Azure Devops Git 存储库

Azure DevOps 用户访问筛选