User Entitlements - Add
Přidejte uživatele, přiřaďte licence a rozšíření a nastavte ho jako člena skupiny projektů v účtu.
POST https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=7.1-preview.4
Parametry identifikátoru URI
Name | V | Vyžadováno | Typ | Description |
---|---|---|---|---|
organization
|
path | True |
string |
Název organizace Azure DevOps. |
api-version
|
query | True |
string |
Verze rozhraní API, která se má použít. Aby se tato verze rozhraní API používala, měla by být nastavená na 7.1-preview.4. |
Text požadavku
Name | Typ | Description |
---|---|---|
accessLevel |
Access |
Úroveň přístupu člena označená licencí. |
dateCreated |
string |
[Jen pro čtení] Datum přidání člena do kolekce |
groupAssignments |
Group |
[Jen pro čtení] GroupEntitlements, do které patří tento člen. |
id |
string |
Jedinečný identifikátor, který odpovídá ID identity přidružené k GraphMember. |
lastAccessedDate |
string |
[Jen pro čtení] Datum posledního přístupu člena ke kolekci |
projectEntitlements |
Project |
Vztah mezi projektem a efektivními oprávněními člena v daném projektu |
user |
Graph |
Referenční informace pro uživatele. |
Odpovědi
Name | Typ | Description |
---|---|---|
200 OK |
User |
úspěšná operace |
Zabezpečení
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
Name | Description |
---|---|
vso.memberentitlementmanagement_write | Uděluje možnost spravovat uživatele, jejich licence a také projekty a rozšíření, ke kterým mají přístup. |
Příklady
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": []
}
}
Definice
Name | Description |
---|---|
Access |
Licence přiřazená uživateli |
Account |
Typ licence účtu (např. Express, Účastník atd.). Pokud chcete použít AccountLicenseType, měl by být v textu žádosti definován jako accountSource. |
Account |
Stav uživatele v účtu |
Assignment |
Zdroj přiřazení licence (např. Skupina, Neznámý atd. |
Graph |
Entita skupiny grafů |
Graph |
|
Group |
Skupina projektů (např. Přispěvatel, Čtenář atd.) |
Group |
Entita skupiny s dalšími vlastnostmi, včetně její licence, rozšíření a členství v projektu |
Group |
Stav pravidla skupiny. |
Group |
Typ skupiny |
Licensing |
Zdroj licencování (např. Účet). MSDN atd.) |
Msdn |
Typ licence MSDN (např. Visual Studio Professional, Visual Studio Enterprise atd.). Chcete-li použít MsdnLicenseType, LicensingSource by měl být v textu požadavku definován jako "msdn". |
Project |
Vztah mezi projektem a efektivními oprávněními uživatele v daném projektu |
Project |
Jestli uživatel dědí oprávnění k projektu prostřednictvím členství ve skupině Azure DevOps nebo AAD. |
Project |
Odkaz na projekt |
Reference |
Třída představující kolekci odkazů REST. |
Team |
Odkaz na tým |
User |
Entita uživatele s dalšími vlastnostmi, včetně licence, rozšíření a členství v projektu |
User |
|
User |
AccessLevel
Licence přiřazená uživateli
Name | Typ | Description |
---|---|---|
accountLicenseType |
Account |
Typ licence účtu (např. Express, Účastník atd.). Pokud chcete použít AccountLicenseType, měl by být v textu žádosti definován jako accountSource. |
assignmentSource |
Assignment |
Zdroj přiřazení licence (např. Skupina, Neznámý atd. |
licenseDisplayName |
string |
Zobrazovaný název licence |
licensingSource |
Licensing |
Zdroj licencování (např. Účet). MSDN atd.) |
msdnLicenseType |
Msdn |
Typ licence MSDN (např. Visual Studio Professional, Visual Studio Enterprise atd.). Chcete-li použít MsdnLicenseType, LicensingSource by měl být v textu požadavku definován jako "msdn". |
status |
Account |
Stav uživatele v účtu |
statusMessage |
string |
Stavová zpráva. |
AccountLicenseType
Typ licence účtu (např. Express, Účastník atd.). Pokud chcete použít AccountLicenseType, měl by být v textu žádosti definován jako accountSource.
Name | Typ | Description |
---|---|---|
advanced |
string |
|
earlyAdopter |
string |
|
express |
string |
|
none |
string |
|
professional |
string |
|
stakeholder |
string |
AccountUserStatus
Stav uživatele v účtu
Name | Typ | Description |
---|---|---|
active |
string |
Uživatel se alespoň jednou přihlásil k účtu VSTS. |
deleted |
string |
Správce účtu VSTS odebere uživatele z účtu VSTS. |
disabled |
string |
Uživatel se nemůže přihlásit; primárně používaná správcem k dočasnému odebrání uživatele z důvodu nepřítomnosti nebo opětovného přidělení licence |
expired |
string |
Uživatel se může přihlásit; primárně se používá, když je licence ve stavu vypršení platnosti a poskytujeme lhůtu odkladu. |
none |
string |
|
pending |
string |
Správce účtu VSTS zve uživatele, aby se připojil k účtu VSTS, ale ještě se nezaregistroval nebo nepřihlásil. |
pendingDisabled |
string |
Uživatel je zakázán; pokud se znovu zadají, budou stále ve stavu Čeká na vyřízení. |
AssignmentSource
Zdroj přiřazení licence (např. Skupina, Neznámý atd.
Name | Typ | Description |
---|---|---|
groupRule |
string |
|
none |
string |
|
unknown |
string |
GraphGroup
Entita skupiny grafů
Name | Typ | Description |
---|---|---|
_links |
Reference |
Toto pole obsahuje nula nebo více zajímavých odkazů o předmětu grafu. Tyto odkazy mohou být vyvolány za účelem získání dalších relací nebo podrobnějších informací o tomto předmětu grafu. |
description |
string |
Krátká fráze, která pomáhá lidským čtenářům rozlišovat skupiny s podobnými názvy |
descriptor |
string |
Popisovač je primárním způsobem, jak odkazovat na předmět grafu, když je systém spuštěný. Toto pole jednoznačně identifikuje stejný předmět grafu napříč účty i organizacemi. |
displayName |
string |
Toto je jedinečný zobrazovaný název předmětu grafu. Pokud chcete toto pole změnit, musíte změnit jeho hodnotu ve zdrojovém poskytovateli. |
domain |
string |
To představuje název kontejneru původu pro člena grafu. (Pro MSA je to Windows Live ID, pro AD název domény, pro AAD ID tenanta adresáře, pro skupiny VSTS ScopeId atd.) |
legacyDescriptor |
string |
[Pouze pro interní použití] Starší popisovač je tady pro případ, že potřebujete získat přístup ke starší verzi IMS pomocí popisovače identity. |
mailAddress |
string |
E-mailová adresa záznamu pro daného člena grafu. To se může lišit od hlavního názvu. |
origin |
string |
Typ poskytovatele zdroje pro identifikátor původu (např.: AD, AAD, MSA) |
originId |
string |
Jedinečný identifikátor ze systému původu. Obvykle sid, ID objektu nebo GUID. Operace propojení a zrušení propojení můžou způsobit změnu této hodnoty pro uživatele, protože uživatel není podporován jiným poskytovatelem a v novém poskytovateli má jiné jedinečné ID. |
principalName |
string |
Toto je principalName tohoto člena grafu od zdrojového poskytovatele. Zprostředkovatel zdroje může toto pole v průběhu času měnit a není zaručeno, že bude neměnné po celou dobu životnosti člena grafu službou VSTS. |
subjectKind |
string |
Toto pole identifikuje typ předmětu grafu (např. Skupina, Obor, Uživatel). |
url |
string |
Tato adresa URL je úplná trasa ke zdrojovému prostředku tohoto předmětu grafu. |
GraphUser
Name | Typ | Description |
---|---|---|
_links |
Reference |
Toto pole obsahuje nula nebo více zajímavých odkazů o předmětu grafu. Tyto odkazy mohou být vyvolány za účelem získání dalších relací nebo podrobnějších informací o tomto předmětu grafu. |
descriptor |
string |
Popisovač je primárním způsobem, jak odkazovat na předmět grafu, když je systém spuštěný. Toto pole jednoznačně identifikuje stejný předmět grafu napříč účty i organizacemi. |
directoryAlias |
string |
Krátké, obecně jedinečné jméno uživatele v záložním adresáři. U uživatelů AAD to odpovídá poštovní přezdívkě, která se často, ale nemusí nutně podobat části e-mailové adresy uživatele před znakem @. Pro uživatele GitHubu to odpovídá uživatelskému popisovači GitHubu. |
displayName |
string |
Toto je jedinečný zobrazovaný název předmětu grafu. Pokud chcete toto pole změnit, musíte změnit jeho hodnotu ve zdrojovém poskytovateli. |
domain |
string |
To představuje název kontejneru původu pro člena grafu. (Pro MSA je to Windows Live ID, pro AD název domény, pro AAD ID tenanta adresáře, pro skupiny VSTS ScopeId atd.) |
isDeletedInOrigin |
boolean |
Pokud je hodnota true, skupina se ve zprostředkovateli identity odstranila. |
legacyDescriptor |
string |
[Pouze pro interní použití] Starší popisovač je tady pro případ, že potřebujete získat přístup ke starší verzi IMS pomocí popisovače identity. |
mailAddress |
string |
E-mailová adresa záznamu pro daného člena grafu. To se může lišit od hlavního názvu. |
metaType |
string |
Metatyp uživatele v počátku, například "člen", "host" atd. Sadu možných hodnot najdete v tématu UserMetaType. |
origin |
string |
Typ poskytovatele zdroje pro identifikátor původu (např.: AD, AAD, MSA) |
originId |
string |
Jedinečný identifikátor ze systému původu. Obvykle sid, ID objektu nebo GUID. Operace propojení a zrušení propojení můžou způsobit změnu této hodnoty pro uživatele, protože uživatel není podporován jiným poskytovatelem a v novém poskytovateli má jiné jedinečné ID. |
principalName |
string |
Toto je principalName tohoto člena grafu od zdrojového poskytovatele. Zprostředkovatel zdroje může toto pole v průběhu času měnit a není zaručeno, že bude neměnné po celou dobu životnosti člena grafu službou VSTS. |
subjectKind |
string |
Toto pole identifikuje typ předmětu grafu (např. Skupina, Obor, Uživatel). |
url |
string |
Tato adresa URL je úplná trasa ke zdrojovému prostředku tohoto předmětu grafu. |
Group
Skupina projektů (např. Přispěvatel, Čtenář atd.)
Name | Typ | Description |
---|---|---|
displayName |
string |
Zobrazovaný název skupiny |
groupType |
Group |
Typ skupiny |
GroupEntitlement
Entita skupiny s dalšími vlastnostmi, včetně její licence, rozšíření a členství v projektu
Name | Typ | Description |
---|---|---|
group |
Graph |
Referenční informace o členech. |
id |
string |
Jedinečný identifikátor, který odpovídá ID GraphMember. |
lastExecuted |
string |
[Jen pro čtení] Čas posledního spuštění pravidla licencování skupiny (bez ohledu na to, jestli byly provedeny nějaké změny). |
licenseRule |
Access |
Licenční pravidlo. |
members |
User |
Členové skupiny. Používá se pouze při vytváření nové skupiny. |
projectEntitlements |
Project |
Vztah mezi projektem a efektivními oprávněními člena v daném projektu |
status |
Group |
Stav pravidla skupiny. |
GroupLicensingRuleStatus
Stav pravidla skupiny.
Name | Typ | Description |
---|---|---|
applied |
string |
Pravidlo se použije. |
applyPending |
string |
Pravidlo se vytvořilo nebo aktualizovalo, ale aplikace čeká na vyřízení. |
incompatible |
string |
Pravidlo skupiny nebylo kompatibilní. |
unableToApply |
string |
Pravidlo se neočekávaně nepovedlo použít a mělo by se zopakovat. |
GroupType
Typ skupiny
Name | Typ | Description |
---|---|---|
custom |
string |
|
projectAdministrator |
string |
|
projectContributor |
string |
|
projectReader |
string |
|
projectStakeholder |
string |
LicensingSource
Zdroj licencování (např. Účet). MSDN atd.)
Name | Typ | Description |
---|---|---|
account |
string |
|
auto |
string |
|
msdn |
string |
|
none |
string |
|
profile |
string |
|
trial |
string |
MsdnLicenseType
Typ licence MSDN (např. Visual Studio Professional, Visual Studio Enterprise atd.). Chcete-li použít MsdnLicenseType, LicensingSource by měl být v textu požadavku definován jako "msdn".
Name | Typ | Description |
---|---|---|
eligible |
string |
|
enterprise |
string |
|
none |
string |
|
platforms |
string |
|
premium |
string |
|
professional |
string |
|
testProfessional |
string |
|
ultimate |
string |
ProjectEntitlement
Vztah mezi projektem a efektivními oprávněními uživatele v daném projektu
Name | Typ | Description |
---|---|---|
assignmentSource |
Assignment |
Zdroj přiřazení (např. Skupina nebo Neznámý). |
group |
Skupina projektů (např. Přispěvatel, Čtenář atd.) |
|
projectPermissionInherited |
Project |
Jestli uživatel dědí oprávnění k projektu prostřednictvím členství ve skupině Azure DevOps nebo AAD. |
projectRef |
Project |
Referenční informace k projektu |
teamRefs |
Team |
Referenční informace k týmu |
ProjectPermissionInherited
Jestli uživatel dědí oprávnění k projektu prostřednictvím členství ve skupině Azure DevOps nebo AAD.
Name | Typ | Description |
---|---|---|
inherited |
string |
|
notInherited |
string |
|
notSet |
string |
ProjectRef
Odkaz na projekt
Name | Typ | Description |
---|---|---|
id |
string |
ID projektu. |
name |
string |
Název projektu. |
ReferenceLinks
Třída představující kolekci odkazů REST.
Name | Typ | Description |
---|---|---|
links |
object |
Zobrazení odkazů jen pro čtení. Vzhledem k tomu, že odkazy jsou jen pro čtení, chceme je zveřejnit jenom jako jen pro čtení. |
TeamRef
Odkaz na tým
Name | Typ | Description |
---|---|---|
id |
string |
ID týmu |
name |
string |
Název týmu |
UserEntitlement
Entita uživatele s dalšími vlastnostmi, včetně licence, rozšíření a členství v projektu
Name | Typ | Description |
---|---|---|
accessLevel |
Access |
Úroveň přístupu člena označená licencí. |
dateCreated |
string |
[Jen pro čtení] Datum přidání člena do kolekce |
groupAssignments |
Group |
[Jen pro čtení] GroupEntitlements, do které patří tento člen. |
id |
string |
Jedinečný identifikátor, který odpovídá ID identity přidružené k GraphMember. |
lastAccessedDate |
string |
[Jen pro čtení] Datum posledního přístupu člena ke kolekci |
projectEntitlements |
Project |
Vztah mezi projektem a efektivními oprávněními člena v daném projektu |
user |
Graph |
Referenční informace pro uživatele. |
UserEntitlementOperationResult
Name | Typ | Description |
---|---|---|
errors |
object[] |
Seznam kódů chyb spárovaných s odpovídajícími chybovými zprávami |
isSuccess |
boolean |
Stav úspěšné operace. |
result |
string |
Výsledná vlastnost nároku. Konkrétní implementace najdete také v tématu: |
userId |
string |
Identifikátor člena, na který se jedná. |
UserEntitlementsPostResponse
Name | Typ | Description |
---|---|---|
isSuccess |
boolean |
Hodnota True, pokud byly všechny operace úspěšné. |
operationResult |
User |
Výsledek operace. |
userEntitlement |
User |
Výsledek uživatelského nároku po použití operací |