Azure DevOps-通过Api更新用户配置文件

时间:2019-05-10 13:54:43

标签: c# azure azure-devops

我正在尝试对一堆用户配置文件(displayName,邮件等)执行批量更新,而没有用户凭据,而是通过以下方式在Azure Active Directory和DevOps中具有最高特权Azure DevOps REST API。由于DevOps与AAD保持不同步。

看来用户的Update方法只能map users to a new identity

这是我到目前为止尝试过的:

private Task<HttpResponseMessage> PatchVstsUser(vssps.dev.azure.com.VstsUser user)
{

    var patchUser = new
    {
        displayName = user.Name,
        mailAddress = user.Mail,
        originId = user.AadId
    };

    return _devOpsGraphApi.PatchAsync($"users/{user.GraphDescriptor}?api-version=5.1-preview.1", patchUser);
 }

具有200个响应代码的API响应,但实际显示名称未更新。

如何更新e。 G。使用Azure DevOps Rest API的用户的显示名称?

1 个答案:

答案 0 :(得分:0)

从“网络”选项卡中,我能够从Azure devops中获取更新用户的api。

enter image description here

这是请求:

Request URL: https://####.###.azure.com/_apis/User/User
Request Method: PATCH
Status Code: 200 
Remote Address: ##.###.#.###:###
Referrer Policy: no-referrer-when-downgrade

类似地,您可以为您的组织获取它。

请注意,这不是更新用户的推荐方法。假设您的azure devops帐户已标记到Azure Active目录,那么您应该能够使用下面的url使用用户图API来更新用户配置文件。

PATCH /users/{id | userPrincipalName}

https://docs.microsoft.com/en-us/graph/api/user-update?view=graph-rest-1.0&tabs=cs

希望有帮助。