首页 > 解决方案 > 将用户电子邮件映射到 ADO 用户/描述符

问题描述

通过 git commit,我可以访问作者和提交者的电子邮件,我希望将其映射到 Azure DevOps 中的用户。我已经做了一些尽职调查来搜索这个,但我找不到任何具体的东西。我基本上达到了与以下帖子相同的状态:Getting user/users details based on user name/alias as parameter in azure devops

我可以在 Graph API 页面(https://docs.microsoft.com/en-au/rest/api/azure/devops/graph/?view=azure-devops-rest-5.1)上看到这还不是正式的支持的。问题如下:有没有办法从简单的电子邮件中获取用户描述符?

按 UPN 或显示名称搜索

快来了!

通常,标识仅表示为显示名称,例如 Jamal Hartnett 或 UPN,例如jamal@contoso.com。这些在任何范围内都不是唯一的。搜索是一种资源,它将获取文本字符串并在帐户或项目中运行搜索以查找所有潜在匹配项。输入越不同,资源返回单个结果的机会就越大。搜索资源将接受显示名称、别名、UPN 和电子邮件样式字符串,例如 Jamal Hartnett jamal@contoso.com。

如果提交作者的电子邮件与通过电子邮件推送的电子邮件相匹配,我可以从中使用IdentityRef对象。但是对于其他不适用的情况,我不知道如何映射到描述符。

标签: azure-devopsazure-devops-rest-api

解决方案


问题如下:有没有办法从简单的电子邮件中获取用户描述符?

据我所知,官方的 Rest API 不支持通过电子邮件获取描述符。

但根据我的测试,似乎这个要求是可用的。

当您将Browser Console tab用户过滤到Organization Settings -> Users.

在此处输入图像描述

休息 API 示例:

https://vsaex.dev.azure.com/Organization name/_apis/UserEntitlements?%24filter=name%20eq%20%27user@domain.com%27&%24&api-version=5.1-preview.3

然后您可以在 API 结果中获取用户描述符。

描述符

此外,官方的 Rest API 支持列出所有用户 Graph。您也可以在结果中获得用户描述符。

希望这可以帮助。


推荐阅读