User Entitlements - Add

Aggiungere un utente, assegnare licenze ed estensioni e impostarle come membro di un gruppo di progetto in un account.

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

Parametri dell'URI

Nome In Necessario Tipo Descrizione
organization
path True

string

Nome dell'organizzazione di Azure DevOps.

api-version
query True

string

Versione dell'API da usare. Deve essere impostato su '7.1-preview.4' per usare questa versione dell'API.

Corpo della richiesta

Nome Tipo Descrizione
accessLevel

AccessLevel

Livello di accesso del membro indicato da una licenza.

dateCreated

string

[Sola lettura] Data di aggiunta del membro alla raccolta.

groupAssignments

GroupEntitlement[]

[Sola lettura] GroupEntitlements a cui appartiene questo membro.

id

string

Identificatore univoco che corrisponde all'ID dell'identità associata a GraphMember.

lastAccessedDate

string

[Sola lettura] Data dell'ultimo accesso all'insieme da parte del membro.

projectEntitlements

ProjectEntitlement[]

Relazione tra un progetto e le autorizzazioni valide del membro in tale progetto.

user

GraphUser

Informazioni di riferimento per l'utente.

Risposte

Nome Tipo Descrizione
200 OK

UserEntitlementsPostResponse

operazione riuscita

Sicurezza

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

Nome Descrizione
vso.memberentitlementmanagement_write Concede la possibilità di gestire gli utenti, le licenze e i progetti e le estensioni a cui possono accedere

Esempio

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": []
  }
}

Definizioni

Nome Descrizione
AccessLevel

Licenza assegnata a un utente

AccountLicenseType

Tipo di licenza account (ad esempio Express, Stakeholder e così via). Per usare AccountLicenseType, LicensingSource deve essere definito come 'account' nel corpo della richiesta.

AccountUserStatus

Stato utente nell'account

AssignmentSource

Origine assegnazione della licenza ,ad esempio gruppo, sconosciuto e così via.

GraphGroup

Entità gruppo graph

GraphUser
Group

Gruppo di progetti (ad esempio Collaboratore, Lettore e così via)

GroupEntitlement

Entità di gruppo con proprietà aggiuntive, tra cui la licenza, le estensioni e l'appartenenza al progetto

GroupLicensingRuleStatus

Stato della regola del gruppo.

GroupType

Tipo di gruppo

LicensingSource

Origine licenze (ad esempio Account. MSDN ecc.)

MsdnLicenseType

Tipo di licenza MSDN (ad esempio Visual Studio Professional, Visual Studio Enterprise e così via). Per usare MsdnLicenseType, LicensingSource deve essere definito come "msdn" nel corpo della richiesta.

ProjectEntitlement

Relazione tra un progetto e le autorizzazioni effettive dell'utente in tale progetto.

ProjectPermissionInherited

Indica se l'utente eredita le autorizzazioni per un progetto tramite un'appartenenza a un gruppo Azure DevOps o AAD.

ProjectRef

Riferimento a un progetto

ReferenceLinks

Classe da rappresentare una raccolta di collegamenti di riferimento REST.

TeamRef

Riferimento a un team

UserEntitlement

Entità utente con proprietà aggiuntive, tra cui la licenza, le estensioni e l'appartenenza al progetto

UserEntitlementOperationResult
UserEntitlementsPostResponse

AccessLevel

Licenza assegnata a un utente

Nome Tipo Descrizione
accountLicenseType

AccountLicenseType

Tipo di licenza account (ad esempio Express, Stakeholder e così via). Per usare AccountLicenseType, LicensingSource deve essere definito come 'account' nel corpo della richiesta.

assignmentSource

AssignmentSource

Origine assegnazione della licenza ,ad esempio gruppo, sconosciuto e così via.

licenseDisplayName

string

Nome visualizzato della licenza

licensingSource

LicensingSource

Origine licenze (ad esempio Account. MSDN ecc.)

msdnLicenseType

MsdnLicenseType

Tipo di licenza MSDN (ad esempio Visual Studio Professional, Visual Studio Enterprise e così via). Per usare MsdnLicenseType, LicensingSource deve essere definito come "msdn" nel corpo della richiesta.

status

AccountUserStatus

Stato utente nell'account

statusMessage

string

Messaggio di stato.

AccountLicenseType

Tipo di licenza account (ad esempio Express, Stakeholder e così via). Per usare AccountLicenseType, LicensingSource deve essere definito come 'account' nel corpo della richiesta.

Nome Tipo Descrizione
advanced

string

earlyAdopter

string

express

string

none

string

professional

string

stakeholder

string

AccountUserStatus

Stato utente nell'account

Nome Tipo Descrizione
active

string

L'utente ha eseguito l'accesso almeno una volta all'account VSTS

deleted

string

L'utente viene rimosso dall'account VSTS dall'amministratore dell'account VSTS

disabled

string

L'utente non può accedere; principalmente usato dall'amministratore per rimuovere temporaneamente un utente a causa dell'assenza o della reallocation delle licenze

expired

string

L'utente può accedere; usato principalmente quando la licenza è in stato scaduto e viene assegnato un periodo di tolleranza

none

string

pending

string

L'utente è invitato a partecipare all'account VSTS dall'amministratore dell'account VSTS, ma non ha ancora effettuato l'iscrizione o l'accesso

pendingDisabled

string

L'utente è disabilitato; se riabilitabile, saranno ancora nello stato in sospeso

AssignmentSource

Origine assegnazione della licenza ,ad esempio gruppo, sconosciuto e così via.

Nome Tipo Descrizione
groupRule

string

none

string

unknown

string

GraphGroup

Entità gruppo graph

Nome Tipo Descrizione
_links

ReferenceLinks

Questo campo contiene zero o più collegamenti interessanti sull'oggetto grafico. Questi collegamenti possono essere richiamati per ottenere relazioni aggiuntive o informazioni più dettagliate su questo argomento grafico.

description

string

Una breve frase per aiutare i lettori umani a disambiguare gruppi con nomi simili

descriptor

string

Il descrittore è il modo principale per fare riferimento all'oggetto del grafico durante l'esecuzione del sistema. Questo campo identificherà in modo univoco lo stesso soggetto grafo in account e organizzazioni.

displayName

string

Si tratta del nome visualizzato non univoco dell'oggetto grafico. Per modificare questo campo, è necessario modificarlo nel provider di origine.

domain

string

Questo rappresenta il nome del contenitore di origine per un membro del grafico. Per MSA si tratta di "Windows Live ID", per AD il nome del dominio, per AAD il tenantID della directory, per i gruppi VSTS di ScopeId e così via)

legacyDescriptor

string

[Solo uso interno] Il descrittore legacy è qui nel caso in cui sia necessario accedere a IMS versione precedente usando il descrittore di identità.

mailAddress

string

Indirizzo di posta elettronica del record per un determinato membro del grafico. Questo può essere diverso dal nome dell'entità.

origin

string

Tipo di provider di origine per l'identificatore di origine (ad,AD, AAD, MSA)

originId

string

Identificatore univoco dal sistema di origine. In genere, id oggetto o Guid. Il collegamento e l'scollegamento delle operazioni possono causare la modifica di questo valore per un utente perché l'utente non è supportato da un provider diverso e ha un ID univoco diverso nel nuovo provider.

principalName

string

Si tratta del nome Principal di questo membro del grafico dal provider di origine. Il provider di origine può modificare questo campo nel tempo e non è garantito che non sia modificabile per la vita del membro del grafico da VSTS.

subjectKind

string

Questo campo identifica il tipo dell'oggetto grafico (ad esempio Gruppo, Ambito, Utente).

url

string

Questo URL è la route completa alla risorsa di origine di questo oggetto grafico.

GraphUser

Nome Tipo Descrizione
_links

ReferenceLinks

Questo campo contiene zero o più collegamenti interessanti sull'oggetto grafico. Questi collegamenti possono essere richiamati per ottenere relazioni aggiuntive o informazioni più dettagliate su questo argomento grafico.

descriptor

string

Il descrittore è il modo principale per fare riferimento all'oggetto del grafico durante l'esecuzione del sistema. Questo campo identificherà in modo univoco lo stesso soggetto grafo in account e organizzazioni.

directoryAlias

string

Nome breve, in genere univoco per l'utente nella directory di backup. Per gli utenti di AAD, questo corrisponde al soprannome di posta elettronica, spesso ma non necessariamente simile alla parte dell'indirizzo di posta dell'utente prima del segno @. Per gli utenti di GitHub, questo corrisponde all'handle utente di GitHub.

displayName

string

Si tratta del nome visualizzato non univoco dell'oggetto grafico. Per modificare questo campo, è necessario modificarlo nel provider di origine.

domain

string

Questo rappresenta il nome del contenitore di origine per un membro del grafico. Per MSA si tratta di "Windows Live ID", per AD il nome del dominio, per AAD il tenantID della directory, per i gruppi VSTS di ScopeId e così via)

isDeletedInOrigin

boolean

Se true, il gruppo è stato eliminato nel provider di identità

legacyDescriptor

string

[Solo uso interno] Il descrittore legacy è qui nel caso in cui sia necessario accedere a IMS versione precedente usando il descrittore di identità.

mailAddress

string

Indirizzo di posta elettronica del record per un determinato membro del grafico. Questo può essere diverso dal nome dell'entità.

metaType

string

Tipo meta dell'utente nell'origine, ad esempio "membro", "guest" e così via. Per il set di valori possibili, vedere UserMetaType.

origin

string

Tipo di provider di origine per l'identificatore di origine (ad,AD, AAD, MSA)

originId

string

Identificatore univoco dal sistema di origine. In genere, id oggetto o Guid. Il collegamento e l'scollegamento delle operazioni possono causare la modifica di questo valore per un utente perché l'utente non è supportato da un provider diverso e ha un ID univoco diverso nel nuovo provider.

principalName

string

Si tratta del nome Principal di questo membro del grafico dal provider di origine. Il provider di origine può modificare questo campo nel tempo e non è garantito che non sia modificabile per la vita del membro del grafico da VSTS.

subjectKind

string

Questo campo identifica il tipo dell'oggetto grafico (ad esempio Gruppo, Ambito, Utente).

url

string

Questo URL è la route completa alla risorsa di origine di questo oggetto grafico.

Group

Gruppo di progetti (ad esempio Collaboratore, Lettore e così via)

Nome Tipo Descrizione
displayName

string

Nome visualizzato del gruppo

groupType

GroupType

Tipo di gruppo

GroupEntitlement

Entità di gruppo con proprietà aggiuntive, tra cui la licenza, le estensioni e l'appartenenza al progetto

Nome Tipo Descrizione
group

GraphGroup

Riferimento membro.

id

string

Identificatore univoco corrispondente all'ID del GraphMember.

lastExecuted

string

[Readonly] L'ultima volta che è stata eseguita la regola di licenza del gruppo (indipendentemente dal fatto che siano state apportate modifiche).

licenseRule

AccessLevel

Regola di licenza.

members

UserEntitlement[]

Membri del gruppo. Usato solo durante la creazione di un nuovo gruppo.

projectEntitlements

ProjectEntitlement[]

Relazione tra un progetto e le autorizzazioni effettive del membro in tale progetto.

status

GroupLicensingRuleStatus

Stato della regola del gruppo.

GroupLicensingRuleStatus

Stato della regola del gruppo.

Nome Tipo Descrizione
applied

string

La regola viene applicata

applyPending

string

La regola viene creata o aggiornata, ma si applica è in sospeso

incompatible

string

La regola di gruppo non è compatibile

unableToApply

string

La regola non è stata applicata in modo imprevisto e dovrebbe essere ritentata

GroupType

Tipo di gruppo

Nome Tipo Descrizione
custom

string

projectAdministrator

string

projectContributor

string

projectReader

string

projectStakeholder

string

LicensingSource

Origine licenze (ad esempio Account. MSDN ecc.)

Nome Tipo Descrizione
account

string

auto

string

msdn

string

none

string

profile

string

trial

string

MsdnLicenseType

Tipo di licenza MSDN (ad esempio Visual Studio Professional, Visual Studio Enterprise e così via). Per usare MsdnLicenseType, LicensingSource deve essere definito come "msdn" nel corpo della richiesta.

Nome Tipo Descrizione
eligible

string

enterprise

string

none

string

platforms

string

premium

string

professional

string

testProfessional

string

ultimate

string

ProjectEntitlement

Relazione tra un progetto e le autorizzazioni effettive dell'utente in tale progetto.

Nome Tipo Descrizione
assignmentSource

AssignmentSource

Origine assegnazione (ad esempio gruppo o sconosciuto).

group

Group

Gruppo di progetti (ad esempio collaboratore, lettore e così via)

projectPermissionInherited

ProjectPermissionInherited

Se l'utente eredita le autorizzazioni per un progetto tramite un'appartenenza a un gruppo Azure DevOps o AAD.

projectRef

ProjectRef

Riferimento progetto

teamRefs

TeamRef[]

Team Ref.

ProjectPermissionInherited

Indica se l'utente eredita le autorizzazioni per un progetto tramite un'appartenenza a un gruppo Azure DevOps o AAD.

Nome Tipo Descrizione
inherited

string

notInherited

string

notSet

string

ProjectRef

Riferimento a un progetto

Nome Tipo Descrizione
id

string

ID progetto.

name

string

Nome progetto.

Classe da rappresentare una raccolta di collegamenti di riferimento REST.

Nome Tipo Descrizione
links

object

Visualizzazione di lettura dei collegamenti. Poiché i collegamenti di riferimento sono in sola lettura, si vuole esporre solo i collegamenti di riferimento come sola lettura.

TeamRef

Riferimento a un team

Nome Tipo Descrizione
id

string

Team ID (ID team)

name

string

Nome team

UserEntitlement

Entità utente con proprietà aggiuntive, tra cui la licenza, le estensioni e l'appartenenza al progetto

Nome Tipo Descrizione
accessLevel

AccessLevel

Livello di accesso del membro denotato da una licenza.

dateCreated

string

[Readonly] Data di aggiunta del membro alla raccolta.

groupAssignments

GroupEntitlement[]

[Readonly] GroupEntitlements a cui appartiene questo membro.

id

string

Identificatore univoco corrispondente all'ID dell'identità associata a GraphMember.

lastAccessedDate

string

[Readonly] Data dell'ultimo accesso al membro della raccolta.

projectEntitlements

ProjectEntitlement[]

Relazione tra un progetto e le autorizzazioni effettive del membro in tale progetto.

user

GraphUser

Informazioni di riferimento dell'utente.

UserEntitlementOperationResult

Nome Tipo Descrizione
errors

object[]

Elenco di codici di errore associati ai messaggi di errore corrispondenti.

isSuccess

boolean

Stato di esito positivo dell'operazione.

result

string

Proprietà entitlement risultante. Per implementazioni specifiche, vedere anche:

userId

string

Identificatore del membro su cui viene eseguito l'azione.

UserEntitlementsPostResponse

Nome Tipo Descrizione
isSuccess

boolean

True se tutte le operazioni hanno avuto esito positivo.

operationResult

UserEntitlementOperationResult

Risultato dell'operazione.

userEntitlement

UserEntitlement

Risultato del diritto utente dopo l'applicazione delle operazioni.