User Entitlements - Add

Dodaj użytkownika, przypisz licencję i rozszerzenia i przypisz je do grupy projektów na koncie.

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

Parametry identyfikatora URI

Nazwa W Wymagane Typ Opis
organization
path True

string

Nazwa organizacji usługi Azure DevOps.

api-version
query True

string

Wersja interfejsu API do użycia. Ta wartość powinna mieć wartość "7.1-preview.4", aby używać tej wersji interfejsu API.

Treść żądania

Nazwa Typ Opis
accessLevel

AccessLevel

Poziom dostępu członka oznaczany przez licencję.

dateCreated

string

[Readonly] Data dodania elementu członkowskiego do kolekcji.

groupAssignments

GroupEntitlement[]

[Readonly] GroupEntitlements, do którego należy ten element członkowski.

id

string

Unikatowy identyfikator zgodny z identyfikatorem tożsamości skojarzonej z elementem GraphMember.

lastAccessedDate

string

[Readonly] Data ostatniego dostępu do kolekcji przez członka.

projectEntitlements

ProjectEntitlement[]

Relacja między projektem a obowiązującymi uprawnieniami członka w tym projekcie.

user

GraphUser

Odwołanie użytkownika.

Odpowiedzi

Nazwa Typ Opis
200 OK

UserEntitlementsPostResponse

operacja zakończona powodzeniem

Zabezpieczenia

oauth2

Type: oauth2
Flow: accessCode
Authorization URL: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Token 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

Scopes

Nazwa Opis
vso.memberentitlementmanagement_write Daje możliwość zarządzania użytkownikami, ich licencjami, a także projektami i rozszerzeniami, do których mogą uzyskiwać dostęp

Przykłady

Sample Request

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

{
  "accessLevel": {
    "licensingSource": "account",
    "accountLicenseType": "express"
  },
  "extensions": [
    {
      "id": "ms.feed"
    }
  ],
  "user": {
    "principalName": "newuser@fabrikam.com",
    "subjectKind": "user"
  },
  "projectEntitlements": [
    {
      "group": {
        "groupType": "projectContributor"
      },
      "projectRef": {
        "id": "e5943a98-a842-4001-bd3b-06e756a7dfac"
      }
    }
  ]
}

Sample Response

{
  "operationResult": {
    "isSuccess": true,
    "errors": [],
    "userId": "08bbffa9-4944-4a98-b0c0-1fa718d5de3d",
    "result": {
      "id": "08bbffa9-4944-4a98-b0c0-1fa718d5de3d",
      "user": {
        "subjectKind": "user",
        "domain": "14c5367e-ee12-4c94-98b8-b52c1fe3cfb1",
        "principalName": "newuser@fabrikam.com",
        "mailAddress": "newuser@fabrikam.com",
        "origin": "aad",
        "originId": "00000000-0000-0000-0000-000000000000",
        "displayName": "newuser@fabrikam.com",
        "_links": {
          "self": {
            "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
          },
          "memberships": {
            "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/memberships/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
          },
          "membershipState": {
            "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/membershipstates/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
          },
          "storageKey": {
            "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/storagekeys/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
          }
        },
        "url": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv",
        "descriptor": "aad.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
      },
      "accessLevel": {
        "licensingSource": "account",
        "accountLicenseType": "express",
        "msdnLicenseType": "none",
        "licenseDisplayName": "Basic",
        "status": "pending",
        "statusMessage": "",
        "assignmentSource": "unknown"
      },
      "lastAccessedDate": "0001-01-01T08:00:00Z",
      "projectEntitlements": [],
      "extensions": [],
      "groupAssignments": []
    }
  },
  "isSuccess": true,
  "userEntitlement": {
    "id": "08bbffa9-4944-4a98-b0c0-1fa718d5de3d",
    "user": {
      "subjectKind": "user",
      "domain": "14c5367e-ee12-4c94-98b8-b52c1fe3cfb1",
      "principalName": "newuser@fabrikam.com",
      "mailAddress": "newuser@fabrikam.com",
      "origin": "aad",
      "originId": "00000000-0000-0000-0000-000000000000",
      "displayName": "newuser@fabrikam.com",
      "_links": {
        "self": {
          "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
        },
        "memberships": {
          "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/memberships/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
        },
        "membershipState": {
          "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/membershipstates/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
        },
        "storageKey": {
          "href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/storagekeys/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
        }
      },
      "url": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv",
      "descriptor": "aad.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
    },
    "accessLevel": {
      "licensingSource": "account",
      "accountLicenseType": "express",
      "msdnLicenseType": "none",
      "licenseDisplayName": "Basic",
      "status": "pending",
      "statusMessage": "",
      "assignmentSource": "unknown"
    },
    "lastAccessedDate": "0001-01-01T08:00:00Z",
    "projectEntitlements": [],
    "extensions": [],
    "groupAssignments": []
  }
}

Definicje

Nazwa Opis
AccessLevel

Licencja przypisana do użytkownika

AccountLicenseType

Typ licencji konta (np. Express, Uczestnik projektu itp.). Aby użyć właściwości AccountLicenseType, element LicensingSource powinien być zdefiniowany jako "konto" w treści żądania.

AccountUserStatus

Stan użytkownika na koncie

AssignmentSource

Źródło przypisania licencji (np. grupa, nieznany itp.

GraphGroup

Jednostka grupy programu Graph

GraphUser
Group

Grupa projektów (np. współautor, czytelnik itp.)

GroupEntitlement

Jednostka grupy z dodatkowymi właściwościami, w tym licencją, rozszerzeniami i członkostwem w projekcie

GroupLicensingRuleStatus

Stan reguły grupy.

GroupType

Typ grupy

LicensingSource

Źródło licencjonowania (np. konto. MSDN itp.)

MsdnLicenseType

Typ licencji MSDN (np. Visual Studio Professional, Visual Studio Enterprise itp.). Aby użyć właściwości MsdnLicenseType, element LicensingSource powinien być zdefiniowany jako "msdn" w treści żądania.

ProjectEntitlement

Relacja między projektem a obowiązującymi uprawnieniami użytkownika w tym projekcie.

ProjectPermissionInherited

Określa, czy użytkownik dziedziczy uprawnienia do projektu za pośrednictwem członkostwa w grupie usługi Azure DevOps, czy usługi AAD.

ProjectRef

Odwołanie do projektu

ReferenceLinks

Klasa reprezentująca kolekcję linków referencyjnych REST.

TeamRef

Odwołanie do zespołu

UserEntitlement

Jednostka użytkownika z dodatkowymi właściwościami, w tym licencją, rozszerzeniami i członkostwem w projekcie

UserEntitlementOperationResult
UserEntitlementsPostResponse

AccessLevel

Licencja przypisana do użytkownika

Nazwa Typ Opis
accountLicenseType

AccountLicenseType

Typ licencji konta (np. Express, Uczestnik projektu itp.). Aby użyć właściwości AccountLicenseType, element LicensingSource powinien być zdefiniowany jako "konto" w treści żądania.

assignmentSource

AssignmentSource

Źródło przypisania licencji (np. grupa, nieznany itp.

licenseDisplayName

string

Nazwa wyświetlana licencji

licensingSource

LicensingSource

Źródło licencjonowania (np. konto. MSDN itp.)

msdnLicenseType

MsdnLicenseType

Typ licencji MSDN (np. Visual Studio Professional, Visual Studio Enterprise itp.). Aby użyć właściwości MsdnLicenseType, element LicensingSource powinien być zdefiniowany jako "msdn" w treści żądania.

status

AccountUserStatus

Stan użytkownika na koncie

statusMessage

string

Komunikat o stanie.

AccountLicenseType

Typ licencji konta (np. Express, Uczestnik projektu itp.). Aby użyć właściwości AccountLicenseType, element LicensingSource powinien być zdefiniowany jako "konto" w treści żądania.

Nazwa Typ Opis
advanced

string

earlyAdopter

string

express

string

none

string

professional

string

stakeholder

string

AccountUserStatus

Stan użytkownika na koncie

Nazwa Typ Opis
active

string

Użytkownik zalogował się co najmniej raz na konto usługi VSTS

deleted

string

Użytkownik jest usuwany z konta usługi VSTS przez administratora konta usługi VSTS

disabled

string

Użytkownik nie może się zalogować; używany głównie przez administratora do tymczasowego usunięcia użytkownika z powodu braku lub ponownej lokalizacji licencji

expired

string

Użytkownik może się zalogować; używane głównie wtedy, gdy licencja jest w stanie wygaśnięcia i udzielamy okresu prolongaty

none

string

pending

string

Użytkownik jest zapraszany do dołączenia do konta usługi VSTS przez administratora konta usługi VSTS, ale jeszcze się nie zarejestrował/nie zalogował

pendingDisabled

string

Użytkownik jest wyłączony; W przypadku ponownego włączenia będą one nadal znajdować się w stanie Oczekiwanie

AssignmentSource

Źródło przypisania licencji (np. grupa, nieznany itp.

Nazwa Typ Opis
groupRule

string

none

string

unknown

string

GraphGroup

Jednostka grupy programu Graph

Nazwa Typ Opis
_links

ReferenceLinks

To pole zawiera zero lub więcej interesujących linków dotyczących tematu grafu. Te linki mogą być wywoływane w celu uzyskania dodatkowych relacji lub bardziej szczegółowych informacji na temat tego tematu grafu.

description

string

Krótka fraza pomagająca czytelnikom uściślać grupy o podobnych nazwach

descriptor

string

Deskryptor jest podstawowym sposobem odwoływanie się do tematu grafu podczas działania systemu. To pole będzie jednoznacznie identyfikować ten sam temat grafu zarówno w ramach kont, jak i organizacji.

displayName

string

Jest to nieu unikatowa nazwa wyświetlana podmiotu grafu. Aby zmienić to pole, należy zmienić jego wartość u dostawcy źródłowego.

domain

string

Reprezentuje to nazwę kontenera pochodzenia dla elementu członkowskiego grafu. (W przypadku konta MSA jest to "Windows Live ID", dla usługi AD nazwa domeny, dla usługi AAD identyfikator dzierżawy katalogu, dla grup usługi VSTS identyfikator ScopeId itp.)

legacyDescriptor

string

[Tylko użycie wewnętrzne] Starszy deskryptor znajduje się tutaj, jeśli musisz uzyskać dostęp do starej wersji usługi IMS przy użyciu deskryptora tożsamości.

mailAddress

string

Adres e-mail rekordu dla danego elementu członkowskiego grafu. Może to być inne niż główna nazwa.

origin

string

Typ dostawcy źródła dla identyfikatora źródła (np.: AD, AAD, MSA)

originId

string

Unikatowy identyfikator z systemu pochodzenia. Zazwyczaj identyfikator sid, identyfikator obiektu lub identyfikator GUID. Operacje łączenia i odłączania mogą spowodować zmianę tej wartości dla użytkownika, ponieważ użytkownik nie jest wspierany przez innego dostawcę i ma inny unikatowy identyfikator w nowym dostawcy.

principalName

string

Jest to principalName tego elementu członkowskiego grafu od dostawcy źródłowego. Dostawca źródłowy może zmienić to pole w czasie i nie ma gwarancji, że będzie niezmienny przez okres życia elementu członkowskiego grafu przez usługę VSTS.

subjectKind

string

To pole identyfikuje typ tematu grafu (np. Grupa, Zakres, Użytkownik).

url

string

Ten adres URL jest pełną trasą do zasobu źródłowego tego tematu grafu.

GraphUser

Nazwa Typ Opis
_links

ReferenceLinks

To pole zawiera zero lub więcej interesujących linków dotyczących tematu grafu. Te linki mogą być wywoływane w celu uzyskania dodatkowych relacji lub bardziej szczegółowych informacji na temat tego tematu grafu.

descriptor

string

Deskryptor jest podstawowym sposobem odwoływanie się do tematu grafu podczas działania systemu. To pole będzie jednoznacznie identyfikować ten sam temat grafu zarówno w ramach kont, jak i organizacji.

directoryAlias

string

Krótka, zazwyczaj unikatowa nazwa użytkownika w katalogu zapasowym. W przypadku użytkowników usługi AAD odpowiada to pseudonimowi poczty, który jest często, ale niekoniecznie podobny do części adresu e-mail użytkownika przed znakiem @. W przypadku użytkowników usługi GitHub odpowiada to dojściu użytkownika usługi GitHub.

displayName

string

Jest to nieu unikatowa nazwa wyświetlana podmiotu grafu. Aby zmienić to pole, należy zmienić jego wartość u dostawcy źródłowego.

domain

string

Reprezentuje to nazwę kontenera pochodzenia dla elementu członkowskiego grafu. (W przypadku konta MSA jest to "Windows Live ID", dla usługi AD nazwa domeny, dla usługi AAD identyfikator dzierżawy katalogu, dla grup usługi VSTS identyfikator ScopeId itp.)

isDeletedInOrigin

boolean

W przypadku wartości true grupa została usunięta u dostawcy tożsamości

legacyDescriptor

string

[Tylko użycie wewnętrzne] Starszy deskryptor znajduje się tutaj, jeśli musisz uzyskać dostęp do starej wersji usługi IMS przy użyciu deskryptora tożsamości.

mailAddress

string

Adres e-mail rekordu dla danego elementu członkowskiego grafu. Może to być inne niż główna nazwa.

metaType

string

Meta typ użytkownika w miejscu pochodzenia, taki jak "członek", "gość" itp. Aby uzyskać zestaw możliwych wartości, zobacz UserMetaType.

origin

string

Typ dostawcy źródła dla identyfikatora źródła (np.: AD, AAD, MSA)

originId

string

Unikatowy identyfikator z systemu pochodzenia. Zazwyczaj identyfikator sid, identyfikator obiektu lub identyfikator GUID. Operacje łączenia i odłączania mogą spowodować zmianę tej wartości dla użytkownika, ponieważ użytkownik nie jest wspierany przez innego dostawcę i ma inny unikatowy identyfikator w nowym dostawcy.

principalName

string

Jest to principalName tego elementu członkowskiego grafu od dostawcy źródłowego. Dostawca źródłowy może zmienić to pole w czasie i nie ma gwarancji, że będzie niezmienny przez okres życia elementu członkowskiego grafu przez usługę VSTS.

subjectKind

string

To pole identyfikuje typ tematu grafu (np. Grupa, Zakres, Użytkownik).

url

string

Ten adres URL jest pełną trasą do zasobu źródłowego tego tematu grafu.

Group

Grupa projektów (np. współautor, czytelnik itp.)

Nazwa Typ Opis
displayName

string

Nazwa wyświetlana grupy

groupType

GroupType

Typ grupy

GroupEntitlement

Jednostka grupy z dodatkowymi właściwościami, w tym licencją, rozszerzeniami i członkostwem w projekcie

Nazwa Typ Opis
group

GraphGroup

Odwołanie do elementu członkowskiego.

id

string

Unikatowy identyfikator, który odpowiada identyfikatorowi elementu GraphMember.

lastExecuted

string

[Readonly] Ostatni raz reguła licencjonowania grupy została wykonana (niezależnie od tego, czy wprowadzono jakiekolwiek zmiany).

licenseRule

AccessLevel

Reguła licencji.

members

UserEntitlement[]

Członkowie grupy. Używane tylko podczas tworzenia nowej grupy.

projectEntitlements

ProjectEntitlement[]

Relacja między projektem a obowiązującymi uprawnieniami członka w tym projekcie.

status

GroupLicensingRuleStatus

Stan reguły grupy.

GroupLicensingRuleStatus

Stan reguły grupy.

Nazwa Typ Opis
applied

string

Reguła jest stosowana

applyPending

string

Reguła jest tworzona lub aktualizowana, ale zastosowanie jest oczekujące

incompatible

string

Reguła grupy była niezgodna

unableToApply

string

Nie można zastosować nieoczekiwanie reguły i powinna zostać ponowiona

GroupType

Typ grupy

Nazwa Typ Opis
custom

string

projectAdministrator

string

projectContributor

string

projectReader

string

projectStakeholder

string

LicensingSource

Źródło licencjonowania (np. konto. MSDN itp.)

Nazwa Typ Opis
account

string

auto

string

msdn

string

none

string

profile

string

trial

string

MsdnLicenseType

Typ licencji MSDN (np. Visual Studio Professional, Visual Studio Enterprise itp.). Aby użyć właściwości MsdnLicenseType, element LicensingSource powinien być zdefiniowany jako "msdn" w treści żądania.

Nazwa Typ Opis
eligible

string

enterprise

string

none

string

platforms

string

premium

string

professional

string

testProfessional

string

ultimate

string

ProjectEntitlement

Relacja między projektem a obowiązującymi uprawnieniami użytkownika w tym projekcie.

Nazwa Typ Opis
assignmentSource

AssignmentSource

Źródło przypisania (np. Grupa lub Nieznany).

group

Group

Grupa projektów (np. współautor, czytelnik itp.)

projectPermissionInherited

ProjectPermissionInherited

Określa, czy użytkownik dziedziczy uprawnienia do projektu za pośrednictwem członkostwa w grupie usługi Azure DevOps, czy usługi AAD.

projectRef

ProjectRef

Dokumentacja projektu

teamRefs

TeamRef[]

Team Ref.

ProjectPermissionInherited

Określa, czy użytkownik dziedziczy uprawnienia do projektu za pośrednictwem członkostwa w grupie usługi Azure DevOps, czy usługi AAD.

Nazwa Typ Opis
inherited

string

notInherited

string

notSet

string

ProjectRef

Odwołanie do projektu

Nazwa Typ Opis
id

string

Identyfikator projektu.

name

string

Nazwa projektu.

Klasa reprezentująca kolekcję linków referencyjnych REST.

Nazwa Typ Opis
links

object

Widok linków w trybie tylko do odczytu. Ponieważ linki odwołania są tylko do odczytu, chcemy uwidocznić je tylko jako tylko do odczytu.

TeamRef

Odwołanie do zespołu

Nazwa Typ Opis
id

string

Identyfikator zespołu

name

string

Nazwa zespołu

UserEntitlement

Jednostka użytkownika z dodatkowymi właściwościami, w tym licencją, rozszerzeniami i członkostwem w projekcie

Nazwa Typ Opis
accessLevel

AccessLevel

Poziom dostępu członka oznaczany przez licencję.

dateCreated

string

[Readonly] Data dodania elementu członkowskiego do kolekcji.

groupAssignments

GroupEntitlement[]

[Readonly] GroupEntitlements, do którego należy ten element członkowski.

id

string

Unikatowy identyfikator zgodny z identyfikatorem tożsamości skojarzonej z elementem GraphMember.

lastAccessedDate

string

[Readonly] Data ostatniego dostępu do kolekcji przez członka.

projectEntitlements

ProjectEntitlement[]

Relacja między projektem a obowiązującymi uprawnieniami członka w tym projekcie.

user

GraphUser

Odwołanie użytkownika.

UserEntitlementOperationResult

Nazwa Typ Opis
errors

object[]

Lista kodów błędów sparowanych z odpowiadającymi im komunikatami o błędach.

isSuccess

boolean

Stan powodzenia operacji.

result

string

Wynikowa właściwość upoważnienia. Aby zapoznać się z konkretnymi implementacjami, zobacz również:

userId

string

Identyfikator elementu członkowskiego, na który działa.

UserEntitlementsPostResponse

Nazwa Typ Opis
isSuccess

boolean

Wartość True, jeśli wszystkie operacje zakończyły się pomyślnie.

operationResult

UserEntitlementOperationResult

Wynik operacji.

userEntitlement

UserEntitlement

Wynik uprawnień użytkownika po zastosowaniu operacji.