用户 API 的 Azure DevOps 权限发生变化?

Azure DevOps permissions change for users API?

在 Azure DevOps 中是否有 editing/adding users/user 组的 API 到项目的安全组?比如在project下新建一个安全组,在下面添加成员?

创建群组和在此新群组下添加成员是不同的步骤。截至目前,我们还没有提供一个 api 让您可以一次实现它们。


(1) 至 create a new user group 项目级别:

POST https://vssps.dev.azure.com/{organization}/_apis/graph/groups?scopeDescriptor={scopeDescriptor}&api-version=6.1-preview.1

请求正文:

{
  "displayName": "{group name}",
  "description": "{The description of this group}"
}

备注:

  • 这里唯一的麻烦是获取项目的 scopeDescriptor。 由于您正尝试在 项目级别 下添加组, scopeDescriptor是这个api的必要参数。

    a. 请首先使用此 api 检索您要将组添加到的项目的 ID。

    GET https://dev.azure.com/{organization}/_apis/projects?api-version=6.0
    

    b.然后调用这个Descriptors - Getapi得到对应的scopeDescriptor.

    GET https://vssps.dev.azure.com/{organization}/_apis/graph/descriptors/{storageKey}?api-version=5.0-preview.1
    

    请将 storageKey 替换为 project Id 因为我们需要 获取项目的范围描述符。 的内容 属性就是我们要找的:

  • 创建新组成功后,请将"descriptor"值复制到响应正文中的txt文件中,这是下一步的重要参数步骤。


(2) 添加成员到这个新群,请参考这个api:

POST https://vssps.dev.azure.com/{organization}/_apis/graph/users?groupDescriptors={xxxxx}&api-version=6.1-preview.1

请求正文:

{
  "principalName": "{user' account address}"
}

备注:

此处请输入您从之前api的响应正文中复制的描述符值,作为groupDescriptors参数的值。

对于请求正文,只需输入用户的帐户地址即可。