Поделиться через


User Entitlements - Update User Entitlements

Измените права (лицензии, расширения, проекты, teams и т. д.) для одного или нескольких пользователей.

PATCH https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=7.1
PATCH https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?doNotSendInviteForNewUsers={doNotSendInviteForNewUsers}&api-version=7.1

Параметры URI

Имя В Обязательно Тип Описание
organization
path True

string

Имя организации Azure DevOps.

api-version
query True

string

Используемая версия API. Для использования этой версии API необходимо задать значение "7.1".

doNotSendInviteForNewUsers
query

boolean

Отправка приглашений по электронной почте новым пользователям или нет

Текст запроса

Media Types: "application/json-patch+json"

Имя Тип Описание
from

string

Путь к копированию из операции перемещения и копирования.

op

Operation

Операция исправления

path

string

Путь к операции. В случае массива индекс на основе нуля можно использовать для указания позиции в массиве (например, /biscuits/0/name). Символ "-" можно использовать вместо индекса для вставки в конец массива (например, /biscuits/-).

value

object

Значение операции. Это либо примитив, либо JToken.

Ответы

Имя Тип Описание
200 OK

UserEntitlementOperationReference

успешная операция

Безопасность

oauth2

Тип: oauth2
Flow: accessCode
URL-адрес авторизации: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
URL-адрес токена: https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer

Области

Имя Описание
vso.memberentitlementmanagement_write Предоставляет возможность управлять пользователями, их лицензиями, а также проектами и расширениями, к которым они могут получить доступ.

Примеры

Образец запроса

PATCH https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=7.1

[
  {
    "from": "",
    "op": "replace",
    "path": "/62707782-484a-4965-897a-50d2828a6510/accessLevel",
    "value": {
      "accountLicenseType": "express",
      "licensingSource": "account"
    }
  },
  {
    "from": "",
    "op": "replace",
    "path": "/df8d33a1-3039-4d20-b45a-7c93ab1288aa/accessLevel",
    "value": {
      "accountLicenseType": "express",
      "licensingSource": "account"
    }
  },
  {
    "from": "",
    "op": "remove",
    "path": "/df8d33a1-3039-4d20-b45a-7c93ab1288aa/projectEntitlements/2e77ca01-f341-461b-94b9-c774d1ed3927",
    "value": ""
  },
  {
    "from": "",
    "op": "add",
    "path": "/df8d33a1-3039-4d20-b45a-7c93ab1288aa/extensions",
    "value": {
      "id": "ms.feed"
    }
  }
]

Пример ответа

{
  "id": "7b0b98fe-e874-4d92-a921-96a779c6ecdc",
  "status": "succeeded",
  "haveResultsSucceeded": true,
  "completed": true,
  "results": [
    {
      "isSuccess": true,
      "errors": [],
      "userId": "62707782-484a-4965-897a-50d2828a6510",
      "result": {
        "id": "62707782-484a-4965-897a-50d2828a6510",
        "user": {
          "subjectKind": "user",
          "metaType": "member",
          "domain": "14c5367e-ee12-4c94-98b8-b52c1fe3cfb1",
          "principalName": "user1@fabrikam.com",
          "mailAddress": "user1@fabrikam.com",
          "origin": "aad",
          "originId": "00000000-0000-0000-0000-000000000000",
          "displayName": "User 1",
          "_links": {
            "self": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/aad.wUGM3IDZ1UTZzczNtkTZmJWLiRzY30yNyE2MtcDNmFTOzMjY"
            },
            "memberships": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/memberships/aad.wUGM3IDZ1UTZzczNtkTZmJWLiRzY30yNyE2MtcDNmFTOzMjY"
            },
            "membershipState": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/membershipstates/aad.wUGM3IDZ1UTZzczNtkTZmJWLiRzY30yNyE2MtcDNmFTOzMjY"
            },
            "storageKey": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/storagekeys/aad.wUGM3IDZ1UTZzczNtkTZmJWLiRzY30yNyE2MtcDNmFTOzMjY"
            }
          },
          "url": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/aad.wUGM3IDZ1UTZzczNtkTZmJWLiRzY30yNyE2MtcDNmFTOzMjY",
          "descriptor": "aad.wUGM3IDZ1UTZzczNtkTZmJWLiRzY30yNyE2MtcDNmFTOzMjY"
        },
        "accessLevel": {
          "licensingSource": "account",
          "accountLicenseType": "stakeholder",
          "msdnLicenseType": "none",
          "licenseDisplayName": "Stakeholder",
          "status": "active",
          "statusMessage": "",
          "assignmentSource": "unknown"
        },
        "lastAccessedDate": "0001-01-01T00:00:00Z",
        "projectEntitlements": [],
        "extensions": [],
        "groupAssignments": []
      }
    },
    {
      "isSuccess": true,
      "errors": [],
      "userId": "df8d33a1-3039-4d20-b45a-7c93ab1288aa",
      "result": {
        "id": "df8d33a1-3039-4d20-b45a-7c93ab1288aa",
        "user": {
          "subjectKind": "user",
          "metaType": "member",
          "domain": "14c5367e-ee12-4c94-98b8-b52c1fe3cfb1",
          "principalName": "user2@fabrikam.com",
          "mailAddress": "user2@fabrikam.com",
          "origin": "aad",
          "originId": "00000000-0000-0000-0000-000000000000",
          "displayName": "User 2",
          "_links": {
            "self": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
            },
            "memberships": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/memberships/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
            },
            "membershipState": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/membershipstates/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
            },
            "storageKey": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/storagekeys/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
            }
          },
          "url": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN",
          "descriptor": "aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
        },
        "accessLevel": {
          "licensingSource": "account",
          "accountLicenseType": "stakeholder",
          "msdnLicenseType": "none",
          "licenseDisplayName": "Stakeholder",
          "status": "active",
          "statusMessage": "",
          "assignmentSource": "unknown"
        },
        "lastAccessedDate": "0001-01-01T00:00:00Z",
        "projectEntitlements": [],
        "extensions": [],
        "groupAssignments": []
      }
    },
    {
      "isSuccess": true,
      "errors": [],
      "userId": "df8d33a1-3039-4d20-b45a-7c93ab1288aa",
      "result": {
        "id": "df8d33a1-3039-4d20-b45a-7c93ab1288aa",
        "user": {
          "subjectKind": "user",
          "metaType": "member",
          "domain": "14c5367e-ee12-4c94-98b8-b52c1fe3cfb1",
          "principalName": "user2@fabrikam.com",
          "mailAddress": "user2@fabrikam.com",
          "origin": "aad",
          "originId": "00000000-0000-0000-0000-000000000000",
          "displayName": "User 2",
          "_links": {
            "self": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
            },
            "memberships": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/memberships/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
            },
            "membershipState": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/membershipstates/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
            },
            "storageKey": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/storagekeys/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
            }
          },
          "url": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN",
          "descriptor": "aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
        },
        "accessLevel": {
          "licensingSource": "account",
          "accountLicenseType": "stakeholder",
          "msdnLicenseType": "none",
          "licenseDisplayName": "Stakeholder",
          "status": "active",
          "statusMessage": "",
          "assignmentSource": "unknown"
        },
        "lastAccessedDate": "0001-01-01T00:00:00Z",
        "projectEntitlements": [],
        "extensions": [],
        "groupAssignments": []
      }
    },
    {
      "isSuccess": true,
      "errors": [],
      "userId": "df8d33a1-3039-4d20-b45a-7c93ab1288aa",
      "result": {
        "id": "df8d33a1-3039-4d20-b45a-7c93ab1288aa",
        "user": {
          "subjectKind": "user",
          "metaType": "member",
          "domain": "14c5367e-ee12-4c94-98b8-b52c1fe3cfb1",
          "principalName": "user2@fabrikam.com",
          "mailAddress": "user2@fabrikam.com",
          "origin": "aad",
          "originId": "00000000-0000-0000-0000-000000000000",
          "displayName": "User 2",
          "_links": {
            "self": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
            },
            "memberships": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/memberships/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
            },
            "membershipState": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/membershipstates/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
            },
            "storageKey": {
              "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/storagekeys/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
            }
          },
          "url": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN",
          "descriptor": "aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
        },
        "accessLevel": {
          "licensingSource": "account",
          "accountLicenseType": "stakeholder",
          "msdnLicenseType": "none",
          "licenseDisplayName": "Stakeholder",
          "status": "active",
          "statusMessage": "",
          "assignmentSource": "unknown"
        },
        "lastAccessedDate": "0001-01-01T00:00:00Z",
        "projectEntitlements": [],
        "extensions": [],
        "groupAssignments": []
      }
    }
  ]
}

Определения

Имя Описание
JsonPatchDocument

Модель JSON для операций исправления JSON

Operation

Операция исправления

OperationStatus

Текущее состояние операции.

UserEntitlementOperationReference
UserEntitlementOperationResult

JsonPatchDocument

Модель JSON для операций исправления JSON

Имя Тип Описание
from

string

Путь к копированию из операции перемещения и копирования.

op

Operation

Операция исправления

path

string

Путь к операции. В случае массива индекс на основе нуля можно использовать для указания позиции в массиве (например, /biscuits/0/name). Символ "-" можно использовать вместо индекса для вставки в конец массива (например, /biscuits/-).

value

object

Значение операции. Это либо примитив, либо JToken.

Operation

Операция исправления

Значение Описание
add
copy
move
remove
replace
test

OperationStatus

Текущее состояние операции.

Значение Описание
cancelled

Операция была отменена пользователем.

failed

Операция завершилась сбоем.

inProgress

Операция выполняется.

notSet

Операция не имеет набора состояний.

queued

Операция была поставлена в очередь.

succeeded

Операция успешно завершена.

UserEntitlementOperationReference

Имя Тип Описание
completed

boolean

Операция завершена с успехом или сбоем.

haveResultsSucceeded

boolean

Значение true, если все операции были успешными.

id

string (uuid)

Уникальный идентификатор операции.

pluginId

string (uuid)

Уникальный идентификатор подключаемого модуля.

results

UserEntitlementOperationResult[]

Список результатов для каждой операции.

status

OperationStatus

Текущее состояние операции.

url

string

URL-адрес для получения объекта полной операции.

UserEntitlementOperationResult

Имя Тип Описание
errors

object[]

Список кодов ошибок, сопряженных с соответствующими сообщениями об ошибках.

isSuccess

boolean

Состояние успешности операции.

result

string (T)

Результирующее свойство права. Дополнительные сведения о конкретных реализациях см. в следующей статье:

userId

string (uuid)

Идентификатор действия члена.