User Entitlements - Add

Bir kullanıcı ekleyin, lisans ve uzantılar atayın ve bir hesaptaki proje grubunun üyesi yapın.

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

URI Parametreleri

Name İçinde Gerekli Tür Description
organization
path True

string

Azure DevOps kuruluşunun adı.

api-version
query True

string

Kullanılacak API'nin sürümü. Bu, api'nin bu sürümünü kullanmak için '7.1-preview.4' olarak ayarlanmalıdır.

İstek Gövdesi

Name Tür Description
accessLevel

AccessLevel

Üyenin bir lisansla belirtilen erişim düzeyi.

dateCreated

string

[Salt okunur] Üyenin koleksiyona eklendiği tarih.

groupAssignments

GroupEntitlement[]

[Salt okunur] Bu üyenin ait olduğu GroupEntitlements.

id

string

GraphMember ile ilişkili Kimliğin kimliğiyle eşleşen benzersiz tanımlayıcı.

lastAccessedDate

string

[Salt okunur] Üyenin koleksiyona en son erişmiş olduğu tarih.

projectEntitlements

ProjectEntitlement[]

Bir proje ile üyenin o projedeki etkin izinleri arasındaki ilişki.

user

GraphUser

Kullanıcı başvurusu.

Yanıtlar

Name Tür Description
200 OK

UserEntitlementsPostResponse

başarılı işlem

Güvenlik

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 Kullanıcıları, lisanslarını ve erişebilecekleri projeleri ve uzantıları yönetme olanağı sağlar

Örnekler

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

Tanımlar

Name Description
AccessLevel

Kullanıcıya atanan lisans

AccountLicenseType

Hesap Lisansı türü (örn. Express, Paydaş vb.). AccountLicenseType'ı kullanmak için LicensingSource istek gövdesinde 'account' olarak tanımlanmalıdır.

AccountUserStatus

Hesaptaki kullanıcı durumu

AssignmentSource

Lisansın Atama Kaynağı (ör. Grup, Bilinmiyor vb.)

GraphGroup

Graf grubu varlığı

GraphUser
Group

Proje Grubu (örn. Katkıda Bulunan, Okuyucu vb.)

GroupEntitlement

Lisansı, uzantıları ve proje üyeliği dahil ek özelliklere sahip bir grup varlığı

GroupLicensingRuleStatus

Grup kuralının durumu.

GroupType

Grup Türü

LicensingSource

Lisans Kaynağı (örn. Hesap. MSDN vb.)

MsdnLicenseType

MSDN Lisansı türü (örn. Visual Studio Professional, Visual Studio Enterprise vb.). MsdnLicenseType'ı kullanmak için LicensingSource istek gövdesinde 'msdn' olarak tanımlanmalıdır.

ProjectEntitlement

Bir proje ile kullanıcının bu projedeki etkin izinleri arasındaki ilişki.

ProjectPermissionInherited

Kullanıcının Azure DevOps veya AAD grup üyeliği aracılığıyla bir projeye izinleri devralıp devralmadığı.

ProjectRef

Projeye başvuru

ReferenceLinks

REST başvuru bağlantıları koleksiyonunu temsil eden sınıf.

TeamRef

Bir takıma başvuru

UserEntitlement

Lisansı, uzantıları ve proje üyeliği gibi ek özelliklere sahip bir kullanıcı varlığı

UserEntitlementOperationResult
UserEntitlementsPostResponse

AccessLevel

Kullanıcıya atanan lisans

Name Tür Description
accountLicenseType

AccountLicenseType

Hesap Lisansı türü (örn. Express, Paydaş vb.). AccountLicenseType'ı kullanmak için LicensingSource istek gövdesinde 'account' olarak tanımlanmalıdır.

assignmentSource

AssignmentSource

Lisansın Atama Kaynağı (ör. Grup, Bilinmiyor vb.)

licenseDisplayName

string

Lisansın görünen adı

licensingSource

LicensingSource

Lisans Kaynağı (örn. Hesap. MSDN vb.)

msdnLicenseType

MsdnLicenseType

MSDN Lisansı türü (örn. Visual Studio Professional, Visual Studio Enterprise vb.). MsdnLicenseType'ı kullanmak için LicensingSource istek gövdesinde 'msdn' olarak tanımlanmalıdır.

status

AccountUserStatus

Hesaptaki kullanıcı durumu

statusMessage

string

Durum iletisi.

AccountLicenseType

Hesap Lisansı türü (örn. Express, Paydaş vb.). AccountLicenseType'ı kullanmak için LicensingSource istek gövdesinde 'account' olarak tanımlanmalıdır.

Name Tür Description
advanced

string

earlyAdopter

string

express

string

none

string

professional

string

stakeholder

string

AccountUserStatus

Hesaptaki kullanıcı durumu

Name Tür Description
active

string

Kullanıcı VSTS hesabında en az bir kez oturum açtı

deleted

string

Kullanıcı VSTS hesabı yöneticisi tarafından VSTS hesabından kaldırılır

disabled

string

Kullanıcı oturum açamıyor; devamsızlık veya lisans yeniden yükleme nedeniyle bir kullanıcıyı geçici olarak kaldırmak için yönetici tarafından öncelikli olarak kullanılır

expired

string

Kullanıcı oturum açabilir; lisans süresi dolduğunda öncelikli olarak kullanılır ve yetkisiz kullanım süresi veririz

none

string

pending

string

Kullanıcı VSTS hesabı yöneticisi tarafından VSTS hesabına katılmaya davet edildi, ancak henüz kaydolmadı/oturum açmadı

pendingDisabled

string

Kullanıcı devre dışı bırakıldı; yeniden kullanılabilir durumdaysa, bekleme durumunda olmaya devam eder

AssignmentSource

Lisansın Atama Kaynağı (ör. Grup, Bilinmiyor vb.)

Name Tür Description
groupRule

string

none

string

unknown

string

GraphGroup

Graf grubu varlığı

Name Tür Description
_links

ReferenceLinks

Bu alan, grafik konusu hakkında sıfır veya daha fazla ilgi çekici bağlantı içerir. Bu bağlantılar, bu grafik konusu hakkında daha fazla ilişki veya daha ayrıntılı bilgi edinmek için çağrılabilir.

description

string

İnsan okuyucuların benzer adlara sahip grupları belirsizleştirmesine yardımcı olan kısa bir ifade

descriptor

string

Tanımlayıcı, sistem çalışırken graf konusuna başvurmanın birincil yoludur. Bu alan, hem Hesaplar hem de Kuruluşlar genelinde aynı graf konusunu benzersiz olarak tanımlar.

displayName

string

Bu, grafik konusunun benzersiz olmayan görünen adıdır. Bu alanı değiştirmek için kaynak sağlayıcıdaki değerini değiştirmeniz gerekir.

domain

string

Bu, bir graf üyesinin kaynak kapsayıcısının adını temsil eder. (MSA için bu "Windows Live ID", AD için etki alanının adı, AAD için dizinin tenantID değeri, VSTS grupları için ScopeId vb.)

legacyDescriptor

string

[Yalnızca İç Kullanım] Kimlik tanımlayıcısını kullanarak eski sürüm IMS'ye erişmeniz gerekirse eski tanımlayıcı buradadır.

mailAddress

string

Belirli bir grafik üyesi için kaydın e-posta adresi. Bu, asıl addan farklı olabilir.

origin

string

Kaynak tanımlayıcısı için kaynak sağlayıcı türü (örn:AD, AAD, MSA)

originId

string

Kaynak sistemindeki benzersiz tanımlayıcı. Genellikle sid, nesne kimliği veya Guid. Bağlama ve bağlantıyı kaldırma işlemleri, kullanıcı farklı bir sağlayıcı tarafından yedeklenmediğinden ve yeni sağlayıcıda farklı bir benzersiz kimliğe sahip olduğundan bu değerin değişmesine neden olabilir.

principalName

string

Bu, kaynak sağlayıcıdan bu grafik üyesinin PrincipalName değeridir. Kaynak sağlayıcı bu alanı zaman içinde değiştirebilir ve VSTS tarafından grafik üyesinin ömrü boyunca sabit olacağı garanti edilemez.

subjectKind

string

Bu alan graf konusunun türünü tanımlar (örneğin: Grup, Kapsam, Kullanıcı).

url

string

Bu URL, bu grafik konusunun kaynak kaynağına giden tam yoldur.

GraphUser

Name Tür Description
_links

ReferenceLinks

Bu alan, grafik konusu hakkında sıfır veya daha fazla ilgi çekici bağlantı içerir. Bu bağlantılar, bu grafik konusu hakkında daha fazla ilişki veya daha ayrıntılı bilgi edinmek için çağrılabilir.

descriptor

string

Tanımlayıcı, sistem çalışırken graf konusuna başvurmanın birincil yoludur. Bu alan, hem Hesaplar hem de Kuruluşlar genelinde aynı graf konusunu benzersiz olarak tanımlar.

directoryAlias

string

Yedekleme dizinindeki kullanıcı için kısa, genel olarak benzersiz ad. AAD kullanıcıları için bu, genellikle @ işaretinden önce kullanıcının posta adresinin parçasına benzer olmayan posta takma adına karşılık gelir. GitHub kullanıcıları için bu, GitHub kullanıcı tanıtıcısına karşılık gelir.

displayName

string

Bu, grafik konusunun benzersiz olmayan görünen adıdır. Bu alanı değiştirmek için kaynak sağlayıcıdaki değerini değiştirmeniz gerekir.

domain

string

Bu, bir graf üyesinin kaynak kapsayıcısının adını temsil eder. (MSA için bu "Windows Live ID", AD için etki alanının adı, AAD için dizinin tenantID değeri, VSTS grupları için ScopeId vb.)

isDeletedInOrigin

boolean

Doğru olduğunda, grup kimlik sağlayıcısından silindi

legacyDescriptor

string

[Yalnızca İç Kullanım] Kimlik tanımlayıcısını kullanarak eski sürüm IMS'ye erişmeniz gerekirse eski tanımlayıcı buradadır.

mailAddress

string

Belirli bir grafik üyesi için kaydın e-posta adresi. Bu, asıl addan farklı olabilir.

metaType

string

Kaynaktaki kullanıcının "üye", "konuk" gibi meta türü. Olası değerler kümesi için bkz. UserMetaType.

origin

string

Kaynak tanımlayıcısı için kaynak sağlayıcı türü (örn:AD, AAD, MSA)

originId

string

Kaynak sistemindeki benzersiz tanımlayıcı. Genellikle sid, nesne kimliği veya Guid. Bağlama ve bağlantıyı kaldırma işlemleri, kullanıcı farklı bir sağlayıcı tarafından yedeklenmediğinden ve yeni sağlayıcıda farklı bir benzersiz kimliğe sahip olduğundan bu değerin değişmesine neden olabilir.

principalName

string

Bu, kaynak sağlayıcıdan bu grafik üyesinin PrincipalName değeridir. Kaynak sağlayıcı bu alanı zaman içinde değiştirebilir ve VSTS tarafından grafik üyesinin ömrü boyunca sabit olacağı garanti edilemez.

subjectKind

string

Bu alan graf konusunun türünü tanımlar (örneğin: Grup, Kapsam, Kullanıcı).

url

string

Bu URL, bu grafik konusunun kaynak kaynağına giden tam yoldur.

Group

Proje Grubu (örn. Katkıda Bulunan, Okuyucu vb.)

Name Tür Description
displayName

string

Grubun Görünen Adı

groupType

GroupType

Grup Türü

GroupEntitlement

Lisansı, uzantıları ve proje üyeliği dahil ek özelliklere sahip bir grup varlığı

Name Tür Description
group

GraphGroup

Üye başvurusu.

id

string

GraphMember kimliğiyle eşleşen benzersiz tanımlayıcı.

lastExecuted

string

[Salt okunur] Grup lisanslama kuralının en son yürütülürken (herhangi bir değişiklik yapılıp yapılmadığına bakılmaksızın).

licenseRule

AccessLevel

Lisans Kuralı.

members

UserEntitlement[]

Grup üyeleri. Yalnızca yeni grup oluşturulurken kullanılır.

projectEntitlements

ProjectEntitlement[]

Bir proje ile üyenin o projedeki etkin izinleri arasındaki ilişki.

status

GroupLicensingRuleStatus

Grup kuralının durumu.

GroupLicensingRuleStatus

Grup kuralının durumu.

Name Tür Description
applied

string

Kural uygulandı

applyPending

string

Kural oluşturuldu veya güncelleştirildi, ancak uygulama beklemede

incompatible

string

Grup kuralı uyumsuzdu

unableToApply

string

Kural beklenmedik şekilde uygulanamadı ve yeniden denenmesi gerekiyor

GroupType

Grup Türü

Name Tür Description
custom

string

projectAdministrator

string

projectContributor

string

projectReader

string

projectStakeholder

string

LicensingSource

Lisans Kaynağı (örn. Hesap. MSDN vb.)

Name Tür Description
account

string

auto

string

msdn

string

none

string

profile

string

trial

string

MsdnLicenseType

MSDN Lisansı türü (örn. Visual Studio Professional, Visual Studio Enterprise vb.). MsdnLicenseType'ı kullanmak için LicensingSource istek gövdesinde 'msdn' olarak tanımlanmalıdır.

Name Tür Description
eligible

string

enterprise

string

none

string

platforms

string

premium

string

professional

string

testProfessional

string

ultimate

string

ProjectEntitlement

Bir proje ile kullanıcının bu projedeki etkin izinleri arasındaki ilişki.

Name Tür Description
assignmentSource

AssignmentSource

Atama Kaynağı (örn. Grup veya Bilinmiyor).

group

Group

Proje Grubu (örn. Katkıda Bulunan, Okuyucu vb.)

projectPermissionInherited

ProjectPermissionInherited

Kullanıcının Azure DevOps veya AAD grup üyeliği aracılığıyla bir projeye izinleri devralıp devralmadığı.

projectRef

ProjectRef

Proje Başvurusu

teamRefs

TeamRef[]

Takım Başv.

ProjectPermissionInherited

Kullanıcının Azure DevOps veya AAD grup üyeliği aracılığıyla bir projeye izinleri devralıp devralmadığı.

Name Tür Description
inherited

string

notInherited

string

notSet

string

ProjectRef

Projeye başvuru

Name Tür Description
id

string

Proje Kimliği.

name

string

Proje Adı.

REST başvuru bağlantıları koleksiyonunu temsil eden sınıf.

Name Tür Description
links

object

Bağlantıların salt okunur görünümü. Başvuru bağlantıları salt okunur olduğundan, bunları yalnızca salt okunur olarak göstermek istiyoruz.

TeamRef

Bir takıma başvuru

Name Tür Description
id

string

Ekip Kimliği

name

string

Ekip Adı

UserEntitlement

Lisansı, uzantıları ve proje üyeliği gibi ek özelliklere sahip bir kullanıcı varlığı

Name Tür Description
accessLevel

AccessLevel

Bir lisans tarafından belirtilen üyenin erişim düzeyi.

dateCreated

string

[Salt okunur] Üyenin koleksiyona eklendiği tarih.

groupAssignments

GroupEntitlement[]

[Salt okunur] Bu üyenin ait olduğu GroupEntitlements.

id

string

GraphMember ile ilişkili Kimliğin kimliğiyle eşleşen benzersiz tanımlayıcı.

lastAccessedDate

string

[Salt okunur] Üyenin koleksiyona en son erişmiş olduğu tarih.

projectEntitlements

ProjectEntitlement[]

Bir proje ile üyenin o projedeki etkin izinleri arasındaki ilişki.

user

GraphUser

Kullanıcı başvurusu.

UserEntitlementOperationResult

Name Tür Description
errors

object[]

İlgili hata iletileriyle eşleştirilmiş hata kodlarının listesi.

isSuccess

boolean

İşlemin başarı durumu.

result

string

Sonuçta elde edilen yetkilendirme özelliği. Belirli uygulamalar için ayrıca bkz:

userId

string

İşlem yapılan Üyenin tanımlayıcısı.

UserEntitlementsPostResponse

Name Tür Description
isSuccess

boolean

Tüm işlemler başarılı olursa true.

operationResult

UserEntitlementOperationResult

İşlem sonucu.

userEntitlement

UserEntitlement

İşlemler uygulandıktan sonra kullanıcı yetkilendirmesinin sonucu.