User Entitlements - Add
Ajoutez un utilisateur, attribuez une licence et des extensions et faites-en un membre d’un groupe de projets dans un compte.
POST https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=7.1-preview.4
Paramètres URI
Nom | Dans | Obligatoire | Type | Description |
---|---|---|---|---|
organization
|
path | True |
string |
Nom de l’organisation Azure DevOps. |
api-version
|
query | True |
string |
Version de l’API à utiliser. Cette valeur doit être définie sur « 7.1-preview.4 » pour utiliser cette version de l’API. |
Corps de la demande
Nom | Type | Description |
---|---|---|
accessLevel |
Access |
Niveau d’accès du membre indiqué par une licence. |
dateCreated |
string |
[En lecture seule] Date à laquelle le membre a été ajouté à la collection. |
groupAssignments |
Group |
[En lecture seule] GroupEntitlements auxquels appartient ce membre. |
id |
string |
Identificateur unique qui correspond à l’ID de l’identité associée à GraphMember. |
lastAccessedDate |
string |
[En lecture seule] Date du dernier accès du membre à la collection. |
projectEntitlements |
Project |
Relation entre un projet et les autorisations effectives du membre dans ce projet. |
user |
Graph |
Référence utilisateur. |
Réponses
Nom | Type | Description |
---|---|---|
200 OK |
User |
opération réussie |
Sécurité
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
Nom | Description |
---|---|
vso.memberentitlementmanagement_write | Accorde la possibilité de gérer les utilisateurs, leurs licences ainsi que les projets et extensions auxquels ils peuvent accéder |
Exemples
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": []
}
}
Définitions
Nom | Description |
---|---|
Access |
Licence affectée à un utilisateur |
Account |
Type de licence de compte (par exemple, Express, Partie prenante, etc.). Pour utiliser accountLicenseType, LicensingSource doit être défini comme « account » dans le corps de la demande. |
Account |
Status utilisateur dans le compte |
Assignment |
Source d’affectation de la licence (par exemple, Groupe, Inconnu, etc. |
Graph |
Entité de groupe de graphiques |
Graph |
|
Group |
Groupe de projets (par exemple, Contributeur, Lecteur, etc.) |
Group |
Entité de groupe avec des propriétés supplémentaires, notamment sa licence, ses extensions et son appartenance au projet |
Group |
Status de la règle de groupe. |
Group |
Type de groupe |
Licensing |
Source de licence (par exemple, Compte. MSDN, etc.) |
Msdn |
Type de licence MSDN (par exemple, Visual Studio Professional, Visual Studio Enterprise, etc.). Pour utiliser MsdnLicenseType, LicensingSource doit être défini comme « msdn » dans le corps de la demande. |
Project |
Relation entre un projet et les autorisations effectives de l’utilisateur dans ce projet. |
Project |
Indique si l’utilisateur hérite des autorisations sur un projet via une appartenance à un groupe Azure DevOps ou AAD. |
Project |
Référence à un projet |
Reference |
Classe pour représenter une collection de liens de référence REST. |
Team |
Référence à une équipe |
User |
Entité utilisateur avec des propriétés supplémentaires, notamment sa licence, ses extensions et son appartenance au projet |
User |
|
User |
AccessLevel
Licence affectée à un utilisateur
Nom | Type | Description |
---|---|---|
accountLicenseType |
Account |
Type de licence de compte (par exemple, Express, Partie prenante, etc.). Pour utiliser accountLicenseType, LicensingSource doit être défini comme « account » dans le corps de la demande. |
assignmentSource |
Assignment |
Source d’affectation de la licence (par exemple, Groupe, Inconnu, etc. |
licenseDisplayName |
string |
Nom complet de la licence |
licensingSource |
Licensing |
Source de licence (par exemple, Compte. MSDN, etc.) |
msdnLicenseType |
Msdn |
Type de licence MSDN (par exemple, Visual Studio Professional, Visual Studio Enterprise, etc.). Pour utiliser MsdnLicenseType, LicensingSource doit être défini comme « msdn » dans le corps de la demande. |
status |
Account |
Status utilisateur dans le compte |
statusMessage |
string |
Message d’état. |
AccountLicenseType
Type de licence de compte (par exemple, Express, Partie prenante, etc.). Pour utiliser accountLicenseType, LicensingSource doit être défini comme « account » dans le corps de la demande.
Nom | Type | Description |
---|---|---|
advanced |
string |
|
earlyAdopter |
string |
|
express |
string |
|
none |
string |
|
professional |
string |
|
stakeholder |
string |
AccountUserStatus
Status utilisateur dans le compte
Nom | Type | Description |
---|---|---|
active |
string |
L’utilisateur s’est connecté au moins une fois au compte VSTS |
deleted |
string |
L’utilisateur est supprimé du compte VSTS par l’administrateur du compte VSTS |
disabled |
string |
L’utilisateur ne peut pas se connecter ; principalement utilisé par l’administrateur pour supprimer temporairement un utilisateur en raison d’une absence ou d’une réallocation de licence |
expired |
string |
L’utilisateur peut se connecter ; principalement utilisé lorsque la licence est à l’état expiré et que nous accordons une période de grâce |
none |
string |
|
pending |
string |
L’utilisateur est invité à rejoindre le compte VSTS par l’administrateur du compte VSTS, mais il ne s’est pas encore inscrit/connecté |
pendingDisabled |
string |
L’utilisateur est désactivé ; s’ils sont réactivés, ils seront toujours dans l’état En attente |
AssignmentSource
Source d’affectation de la licence (par exemple, Groupe, Inconnu, etc.
Nom | Type | Description |
---|---|---|
groupRule |
string |
|
none |
string |
|
unknown |
string |
GraphGroup
Entité de groupe de graphiques
Nom | Type | Description |
---|---|---|
_links |
Reference |
Ce champ contient zéro ou plus de liens intéressants sur l’objet du graphique. Ces liens peuvent être appelés pour obtenir des relations supplémentaires ou des informations plus détaillées sur ce sujet de graphique. |
description |
string |
Une courte phrase pour aider les lecteurs humains à lever l’ambiguïté des groupes avec des noms similaires |
descriptor |
string |
Le descripteur est le principal moyen de référencer l’objet du graphique pendant l’exécution du système. Ce champ identifie de manière unique le même sujet de graphique dans les comptes et les organisations. |
displayName |
string |
Il s’agit du nom d’affichage non unique de l’objet du graphique. Pour modifier ce champ, vous devez modifier sa valeur dans le fournisseur source. |
domain |
string |
Représente le nom du conteneur d’origine pour un membre de graphique. (Pour MSA, il s’agit de « Windows Live ID », pour AD le nom du domaine, pour AAD le tenantID du répertoire, pour les groupes VSTS l’ScopeId, etc.) |
legacyDescriptor |
string |
[Usage interne uniquement] Le descripteur hérité se trouve ici au cas où vous deviez accéder à l’ancienne version d’IMS à l’aide du descripteur d’identité. |
mailAddress |
string |
Adresse e-mail de l’enregistrement d’un membre de graphique donné. Il peut être différent du nom du principal. |
origin |
string |
Type de fournisseur source pour l’identificateur d’origine (ex :AD, AAD, MSA) |
originId |
string |
Identificateur unique du système d’origine. Généralement un sid, un ID d’objet ou un GUID. Les opérations de liaison et de dissociation peuvent entraîner la modification de cette valeur pour un utilisateur, car l’utilisateur n’est pas soutenu par un autre fournisseur et a un ID unique différent dans le nouveau fournisseur. |
principalName |
string |
Il s’agit du principalName de ce membre de graphe du fournisseur source. Le fournisseur source peut modifier ce champ au fil du temps et il n’est pas garanti qu’il soit immuable pendant la durée de vie du membre de graphique par VSTS. |
subjectKind |
string |
Ce champ identifie le type de l’objet du graphique (par exemple, groupe, étendue, utilisateur). |
url |
string |
Cette URL est l’itinéraire complet vers la ressource source de ce sujet de graphique. |
GraphUser
Nom | Type | Description |
---|---|---|
_links |
Reference |
Ce champ contient zéro ou plus de liens intéressants sur l’objet du graphique. Ces liens peuvent être appelés pour obtenir des relations supplémentaires ou des informations plus détaillées sur ce sujet de graphique. |
descriptor |
string |
Le descripteur est le principal moyen de référencer l’objet du graphique pendant l’exécution du système. Ce champ identifie de manière unique le même sujet de graphique dans les comptes et les organisations. |
directoryAlias |
string |
Nom court et généralement unique de l’utilisateur dans le répertoire de stockage. Pour les utilisateurs AAD, cela correspond au surnom du courrier, qui est souvent mais pas nécessairement similaire à la partie de l’adresse de messagerie de l’utilisateur avant le signe @ . Pour les utilisateurs GitHub, cela correspond au handle utilisateur GitHub. |
displayName |
string |
Il s’agit du nom d’affichage non unique de l’objet du graphique. Pour modifier ce champ, vous devez modifier sa valeur dans le fournisseur source. |
domain |
string |
Représente le nom du conteneur d’origine pour un membre de graphique. (Pour MSA, il s’agit de « Windows Live ID », pour AD le nom du domaine, pour AAD le tenantID du répertoire, pour les groupes VSTS l’ScopeId, etc.) |
isDeletedInOrigin |
boolean |
Lorsque la valeur est true, le groupe a été supprimé dans le fournisseur d’identité |
legacyDescriptor |
string |
[Usage interne uniquement] Le descripteur hérité se trouve ici au cas où vous deviez accéder à l’ancienne version d’IMS à l’aide du descripteur d’identité. |
mailAddress |
string |
Adresse e-mail de l’enregistrement d’un membre de graphique donné. Il peut être différent du nom du principal. |
metaType |
string |
Type de méta de l’utilisateur dans l’origine, tel que « membre », « invité », etc. Consultez UserMetaType pour connaître l’ensemble des valeurs possibles. |
origin |
string |
Type de fournisseur source pour l’identificateur d’origine (ex :AD, AAD, MSA) |
originId |
string |
Identificateur unique du système d’origine. Généralement un sid, un ID d’objet ou un GUID. Les opérations de liaison et de dissociation peuvent entraîner la modification de cette valeur pour un utilisateur, car l’utilisateur n’est pas soutenu par un autre fournisseur et a un ID unique différent dans le nouveau fournisseur. |
principalName |
string |
Il s’agit du principalName de ce membre de graphe du fournisseur source. Le fournisseur source peut modifier ce champ au fil du temps et il n’est pas garanti qu’il soit immuable pendant la durée de vie du membre de graphique par VSTS. |
subjectKind |
string |
Ce champ identifie le type de l’objet du graphique (par exemple, groupe, étendue, utilisateur). |
url |
string |
Cette URL est l’itinéraire complet vers la ressource source de ce sujet de graphique. |
Group
Groupe de projets (par exemple, Contributeur, Lecteur, etc.)
Nom | Type | Description |
---|---|---|
displayName |
string |
Nom complet du groupe |
groupType |
Group |
Type de groupe |
GroupEntitlement
Entité de groupe avec des propriétés supplémentaires, notamment sa licence, ses extensions et son appartenance au projet
Nom | Type | Description |
---|---|---|
group |
Graph |
Référence de membre. |
id |
string |
Identificateur unique qui correspond à l’ID du GraphMember. |
lastExecuted |
string |
[En lecture seule] La dernière fois que la règle de gestion des licences de groupe a été exécutée (que des modifications aient été apportées ou non). |
licenseRule |
Access |
Règle de licence. |
members |
User |
Membres du groupe. Utilisé uniquement lors de la création d’un groupe. |
projectEntitlements |
Project |
Relation entre un projet et les autorisations effectives du membre dans ce projet. |
status |
Group |
Status de la règle de groupe. |
GroupLicensingRuleStatus
Status de la règle de groupe.
Nom | Type | Description |
---|---|---|
applied |
string |
La règle est appliquée |
applyPending |
string |
La règle est créée ou mise à jour, mais appliquer est en attente |
incompatible |
string |
La règle de groupe était incompatible |
unableToApply |
string |
La règle n’a pas pu s’appliquer de manière inattendue et doit être retentée |
GroupType
Type de groupe
Nom | Type | Description |
---|---|---|
custom |
string |
|
projectAdministrator |
string |
|
projectContributor |
string |
|
projectReader |
string |
|
projectStakeholder |
string |
LicensingSource
Source de licence (par exemple, Compte. MSDN, etc.)
Nom | Type | Description |
---|---|---|
account |
string |
|
auto |
string |
|
msdn |
string |
|
none |
string |
|
profile |
string |
|
trial |
string |
MsdnLicenseType
Type de licence MSDN (par exemple, Visual Studio Professional, Visual Studio Enterprise, etc.). Pour utiliser MsdnLicenseType, LicensingSource doit être défini comme « msdn » dans le corps de la demande.
Nom | Type | Description |
---|---|---|
eligible |
string |
|
enterprise |
string |
|
none |
string |
|
platforms |
string |
|
premium |
string |
|
professional |
string |
|
testProfessional |
string |
|
ultimate |
string |
ProjectEntitlement
Relation entre un projet et les autorisations effectives de l’utilisateur dans ce projet.
Nom | Type | Description |
---|---|---|
assignmentSource |
Assignment |
Source de l’affectation (par exemple, groupe ou inconnu). |
group |
Groupe de projets (par exemple, Contributeur, Lecteur, etc.) |
|
projectPermissionInherited |
Project |
Indique si l’utilisateur hérite des autorisations d’accès à un projet par le biais d’une appartenance à un groupe Azure DevOps ou AAD. |
projectRef |
Project |
Référence du projet |
teamRefs |
Team |
Référence de l’équipe. |
ProjectPermissionInherited
Indique si l’utilisateur hérite des autorisations sur un projet via une appartenance à un groupe Azure DevOps ou AAD.
Nom | Type | Description |
---|---|---|
inherited |
string |
|
notInherited |
string |
|
notSet |
string |
ProjectRef
Référence à un projet
Nom | Type | Description |
---|---|---|
id |
string |
ID de projet. |
name |
string |
Nom du projet. |
ReferenceLinks
Classe pour représenter une collection de liens de référence REST.
Nom | Type | Description |
---|---|---|
links |
object |
Vue en lecture seule des liens. Étant donné que les liens référence sont en lecture seule, nous voulons uniquement les exposer en lecture seule. |
TeamRef
Référence à une équipe
Nom | Type | Description |
---|---|---|
id |
string |
ID de l’équipe |
name |
string |
Nom de l'équipe |
UserEntitlement
Entité utilisateur avec des propriétés supplémentaires, notamment sa licence, ses extensions et son appartenance au projet
Nom | Type | Description |
---|---|---|
accessLevel |
Access |
Niveau d’accès du membre indiqué par une licence. |
dateCreated |
string |
[En lecture seule] Date à laquelle le membre a été ajouté à la collection. |
groupAssignments |
Group |
[En lecture seule] GroupEntitlements auxquels appartient ce membre. |
id |
string |
Identificateur unique qui correspond à l’ID de l’identité associée à GraphMember. |
lastAccessedDate |
string |
[En lecture seule] Date du dernier accès du membre à la collection. |
projectEntitlements |
Project |
Relation entre un projet et les autorisations effectives du membre dans ce projet. |
user |
Graph |
Référence utilisateur. |
UserEntitlementOperationResult
Nom | Type | Description |
---|---|---|
errors |
object[] |
Liste des codes d’erreur associés aux messages d’erreur correspondants. |
isSuccess |
boolean |
Réussite status de l’opération. |
result |
string |
Propriété de droit résultante. Pour des implémentations spécifiques, consultez également : |
userId |
string |
Identificateur du membre en cours d’application. |
UserEntitlementsPostResponse
Nom | Type | Description |
---|---|---|
isSuccess |
boolean |
True si toutes les opérations ont réussi. |
operationResult |
User |
Résultat de l’opération. |
userEntitlement |
User |
Résultat du droit d’utilisateur après l’application des opérations. |