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 |
Poziom dostępu członka oznaczany przez licencję. |
|
dateCreated |
string |
[Readonly] Data dodania elementu członkowskiego do kolekcji. |
groupAssignments |
[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 |
Relacja między projektem a obowiązującymi uprawnieniami członka w tym projekcie. |
|
user |
Odwołanie użytkownika. |
Odpowiedzi
Nazwa | Typ | Opis |
---|---|---|
200 OK |
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 |
---|---|
Access |
Licencja przypisana do użytkownika |
Account |
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. |
Account |
Stan użytkownika na koncie |
Assignment |
Źródło przypisania licencji (np. grupa, nieznany itp. |
Graph |
Jednostka grupy programu Graph |
Graph |
|
Group |
Grupa projektów (np. współautor, czytelnik itp.) |
Group |
Jednostka grupy z dodatkowymi właściwościami, w tym licencją, rozszerzeniami i członkostwem w projekcie |
Group |
Stan reguły grupy. |
Group |
Typ grupy |
Licensing |
Źródło licencjonowania (np. konto. MSDN itp.) |
Msdn |
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. |
Project |
Relacja między projektem a obowiązującymi uprawnieniami użytkownika w tym projekcie. |
Project |
Określa, czy użytkownik dziedziczy uprawnienia do projektu za pośrednictwem członkostwa w grupie usługi Azure DevOps, czy usługi AAD. |
Project |
Odwołanie do projektu |
Reference |
Klasa reprezentująca kolekcję linków referencyjnych REST. |
Team |
Odwołanie do zespołu |
User |
Jednostka użytkownika z dodatkowymi właściwościami, w tym licencją, rozszerzeniami i członkostwem w projekcie |
User |
|
User |
AccessLevel
Licencja przypisana do użytkownika
Nazwa | Typ | Opis |
---|---|---|
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 |
Źródło przypisania licencji (np. grupa, nieznany itp. |
|
licenseDisplayName |
string |
Nazwa wyświetlana licencji |
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. |
|
status |
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 |
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 |
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 |
Typ grupy |
GroupEntitlement
Jednostka grupy z dodatkowymi właściwościami, w tym licencją, rozszerzeniami i członkostwem w projekcie
Nazwa | Typ | Opis |
---|---|---|
group |
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 |
Reguła licencji. |
|
members |
Członkowie grupy. Używane tylko podczas tworzenia nowej grupy. |
|
projectEntitlements |
Relacja między projektem a obowiązującymi uprawnieniami członka w tym projekcie. |
|
status |
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 |
Źródło przypisania (np. Grupa lub Nieznany). |
|
group |
Grupa projektów (np. współautor, czytelnik itp.) |
|
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 |
Dokumentacja projektu |
|
teamRefs |
Team |
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. |
ReferenceLinks
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 |
Poziom dostępu członka oznaczany przez licencję. |
|
dateCreated |
string |
[Readonly] Data dodania elementu członkowskiego do kolekcji. |
groupAssignments |
[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 |
Relacja między projektem a obowiązującymi uprawnieniami członka w tym projekcie. |
|
user |
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 |
Wynik operacji. |
|
userEntitlement |
Wynik uprawnień użytkownika po zastosowaniu operacji. |