Udostępnij przez


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

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. Należy ustawić wartość "7.1", aby używać tej wersji interfejsu API.

Treść żądania

Nazwa Typ Opis
accessLevel

AccessLevel

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

dateCreated

string (date-time)

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

groupAssignments

GroupEntitlement[]

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

id

string (uuid)

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

lastAccessedDate

string (date-time)

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

projectEntitlements

ProjectEntitlement[]

Relacja między projektem a skutecznymi 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

Typ: oauth2
Flow: accessCode
Adres URL autoryzacji: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Adres URL tokenu: 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

Zakresy

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

Przykłady

Przykładowe żądanie

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

{
  "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"
      }
    }
  ]
}

Przykładowa odpowiedź

{
  "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 użytkownikowi

AccountLicenseType

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

AccountUserStatus

Stan użytkownika na koncie

AssignmentSource

Źródło przydziału 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 jej licencja, rozszerzenia i członkostwo 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 skutecznymi uprawnieniami użytkownika w tym projekcie.

ProjectPermissionInherited

Niezależnie od tego, czy użytkownik dziedziczy uprawnienia do projektu za pośrednictwem członkostwa w usłudze Azure DevOps, czy grupy 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 użytkownikowi

Nazwa Typ Opis
accountLicenseType

AccountLicenseType

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

assignmentSource

AssignmentSource

Źródło przydziału 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ć wartości AccountLicenseType, element LicensingSource powinien być zdefiniowany jako "konto" w treści żądania.

Wartość Opis
none
earlyAdopter
express
professional
advanced
stakeholder

AccountUserStatus

Stan użytkownika na koncie

Wartość Opis
none
active

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

disabled

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

deleted

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

pending

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

expired

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

pendingDisabled

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

AssignmentSource

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

Wartość Opis
none
unknown
groupRule

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łowania 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 unikatowa nazwa wyświetlana podmiotu grafu. Aby zmienić to pole, musisz zmienić jego wartość u dostawcy źródłowego.

domain

string

Reprezentuje to nazwę kontenera pochodzenia dla elementu członkowskiego grafu. (W przypadku 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ę w tym miejscu, 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ż nazwa główna.

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 nazwa główna tego elementu członkowskiego grafu od dostawcy źródłowego. Dostawca źródła 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łowania 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, ogólnie 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 unikatowa nazwa wyświetlana podmiotu grafu. Aby zmienić to pole, musisz zmienić jego wartość u dostawcy źródłowego.

domain

string

Reprezentuje to nazwę kontenera pochodzenia dla elementu członkowskiego grafu. (W przypadku 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

Jeśli to prawda, grupa została usunięta w dostawcy tożsamości

legacyDescriptor

string

[Tylko użycie wewnętrzne] Starszy deskryptor znajduje się w tym miejscu, 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ż nazwa główna.

metaType

string

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

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 nazwa główna tego elementu członkowskiego grafu od dostawcy źródłowego. Dostawca źródła 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 jej licencja, rozszerzenia i członkostwo w projekcie

Nazwa Typ Opis
group

GraphGroup

Odwołanie do składowych.

id

string (uuid)

Unikatowy identyfikator zgodny z identyfikatorem elementu GraphMember.

lastExecuted

string (date-time)

[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 skutecznymi uprawnieniami członka w tym projekcie.

status

GroupLicensingRuleStatus

Stan reguły grupy.

GroupLicensingRuleStatus

Stan reguły grupy.

Wartość Opis
applyPending

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

applied

Reguła jest stosowana

incompatible

Reguła grupy była niezgodna

unableToApply

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

GroupType

Typ grupy

Wartość Opis
projectStakeholder
projectReader
projectContributor
projectAdministrator
custom

LicensingSource

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

Wartość Opis
none
account
msdn
profile
auto
trial

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.

Wartość Opis
none
eligible
professional
platforms
testProfessional
premium
ultimate
enterprise

ProjectEntitlement

Relacja między projektem a skutecznymi 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

Niezależnie od tego, czy użytkownik dziedziczy uprawnienia do projektu za pośrednictwem członkostwa w usłudze Azure DevOps, czy grupy usługi AAD.

projectRef

ProjectRef

Dokumentacja projektu

teamRefs

TeamRef[]

Team Ref.

ProjectPermissionInherited

Niezależnie od tego, czy użytkownik dziedziczy uprawnienia do projektu za pośrednictwem członkostwa w usłudze Azure DevOps, czy grupy usługi AAD.

Wartość Opis
notSet
notInherited
inherited

ProjectRef

Odwołanie do projektu

Nazwa Typ Opis
id

string (uuid)

Identyfikator projektu.

name

string

Nazwa projektu.

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

Nazwa Typ Opis
links

object

Czytelny widok linków. 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 (uuid)

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 oznaczony przez licencję.

dateCreated

string (date-time)

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

groupAssignments

GroupEntitlement[]

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

id

string (uuid)

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

lastAccessedDate

string (date-time)

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

projectEntitlements

ProjectEntitlement[]

Relacja między projektem a skutecznymi 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 odpowiednimi komunikatami o błędach.

isSuccess

boolean

Stan powodzenia operacji.

result

string (T)

Wynikowa właściwość upoważnienia. Aby uzyskać szczegółowe implementacje, zobacz również: <seealso cref="T:Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.ServicePrincipalEntitlementOperationResult" /><seealso cref="T:Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.UserEntitlementOperationResult" />

userId

string (uuid)

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 uprawnienia użytkownika po zastosowaniu operacji.