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

AccessLevel

Úroveň přístupu člena označená licencí.

dateCreated

string

[Jen pro čtení] Datum přidání člena do kolekce

groupAssignments

GroupEntitlement[]

[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

ProjectEntitlement[]

Vztah mezi projektem a efektivními oprávněními člena v daném projektu

user

GraphUser

Referenční informace pro uživatele.

Odpovědi

Name Typ Description
200 OK

UserEntitlementsPostResponse

ú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
AccessLevel

Licence přiřazená uživateli

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.

AccountUserStatus

Stav uživatele v účtu

AssignmentSource

Zdroj přiřazení licence (např. Skupina, Neznámý atd.

GraphGroup

Entita skupiny grafů

GraphUser
Group

Skupina projektů (např. Přispěvatel, Čtenář atd.)

GroupEntitlement

Entita skupiny s dalšími vlastnostmi, včetně její licence, rozšíření a členství v projektu

GroupLicensingRuleStatus

Stav pravidla skupiny.

GroupType

Typ skupiny

LicensingSource

Zdroj licencování (např. Účet). MSDN atd.)

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".

ProjectEntitlement

Vztah mezi projektem a efektivními oprávněními uživatele v daném projektu

ProjectPermissionInherited

Jestli uživatel dědí oprávnění k projektu prostřednictvím členství ve skupině Azure DevOps nebo AAD.

ProjectRef

Odkaz na projekt

ReferenceLinks

Třída představující kolekci odkazů REST.

TeamRef

Odkaz na tým

UserEntitlement

Entita uživatele s dalšími vlastnostmi, včetně licence, rozšíření a členství v projektu

UserEntitlementOperationResult
UserEntitlementsPostResponse

AccessLevel

Licence přiřazená uživateli

Name Typ Description
accountLicenseType

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.

assignmentSource

AssignmentSource

Zdroj přiřazení licence (např. Skupina, Neznámý atd.

licenseDisplayName

string

Zobrazovaný název licence

licensingSource

LicensingSource

Zdroj licencování (např. Účet). MSDN atd.)

msdnLicenseType

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".

status

AccountUserStatus

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

ReferenceLinks

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

ReferenceLinks

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

GroupType

Typ skupiny

GroupEntitlement

Entita skupiny s dalšími vlastnostmi, včetně její licence, rozšíření a členství v projektu

Name Typ Description
group

GraphGroup

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

AccessLevel

Licenční pravidlo.

members

UserEntitlement[]

Členové skupiny. Používá se pouze při vytváření nové skupiny.

projectEntitlements

ProjectEntitlement[]

Vztah mezi projektem a efektivními oprávněními člena v daném projektu

status

GroupLicensingRuleStatus

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

AssignmentSource

Zdroj přiřazení (např. Skupina nebo Neznámý).

group

Group

Skupina projektů (např. Přispěvatel, Čtenář atd.)

projectPermissionInherited

ProjectPermissionInherited

Jestli uživatel dědí oprávnění k projektu prostřednictvím členství ve skupině Azure DevOps nebo AAD.

projectRef

ProjectRef

Referenční informace k projektu

teamRefs

TeamRef[]

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.

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

AccessLevel

Úroveň přístupu člena označená licencí.

dateCreated

string

[Jen pro čtení] Datum přidání člena do kolekce

groupAssignments

GroupEntitlement[]

[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

ProjectEntitlement[]

Vztah mezi projektem a efektivními oprávněními člena v daném projektu

user

GraphUser

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

UserEntitlementOperationResult

Výsledek operace.

userEntitlement

UserEntitlement

Výsledek uživatelského nároku po použití operací