基于用户名/别名作为 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 存储库