Bagikan melalui


User Entitlements - Add

Tambahkan pengguna, tetapkan lisensi dan ekstensi dan jadikan mereka anggota grup proyek di akun.

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

Parameter URI

Nama Dalam Diperlukan Jenis Deskripsi
organization
path True

string

Nama organisasi Azure DevOps.

api-version
query True

string

Versi API yang akan digunakan. Ini harus diatur ke '7.1-preview.4' untuk menggunakan versi api ini.

Isi Permintaan

Nama Jenis Deskripsi
accessLevel

AccessLevel

Tingkat akses anggota ditandai dengan lisensi.

dateCreated

string

[Baca saja] Tanggal anggota ditambahkan ke koleksi.

groupAssignments

GroupEntitlement[]

[Baca saja] GroupEntitlements milik anggota ini.

id

string

Pengidentifikasi unik yang cocok dengan Id Identitas yang terkait dengan GraphMember.

lastAccessedDate

string

[Baca saja] Tanggal anggota terakhir kali mengakses koleksi.

projectEntitlements

ProjectEntitlement[]

Hubungan antara proyek dan izin efektif anggota dalam proyek tersebut.

user

GraphUser

Referensi pengguna.

Respons

Nama Jenis Deskripsi
200 OK

UserEntitlementsPostResponse

operasi berhasil

Keamanan

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

Nama Deskripsi
vso.memberentitlementmanagement_write Memberikan kemampuan untuk mengelola pengguna, lisensi mereka serta proyek dan ekstensi yang dapat mereka akses

Contoh

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

Definisi

Nama Deskripsi
AccessLevel

Lisensi yang ditetapkan untuk pengguna

AccountLicenseType

Jenis Lisensi Akun (misalnya Ekspres, Pemangku Kepentingan, dll.). Untuk menggunakan AccountLicenseType, LicensingSource harus didefinisikan sebagai 'akun' dalam isi permintaan.

AccountUserStatus

Status pengguna di akun

AssignmentSource

Sumber Penugasan Lisensi (misalnya Grup, Tidak Diketahui, dll.

GraphGroup

Entitas grup grafik

GraphUser
Group

Grup Proyek (misalnya Kontributor, Pembaca, dll.)

GroupEntitlement

Entitas grup dengan properti tambahan termasuk lisensi, ekstensi, dan keanggotaan proyeknya

GroupLicensingRuleStatus

Status aturan grup.

GroupType

Jenis Grup

LicensingSource

Sumber Lisensi (misalnya Akun. MSDN dll.)

MsdnLicenseType

Jenis Lisensi MSDN (misalnya Visual Studio Professional, Visual Studio Enterprise, dll.). Untuk menggunakan MsdnLicenseType, LicensingSource harus didefinisikan sebagai 'msdn' dalam isi permintaan.

ProjectEntitlement

Hubungan antara proyek dan izin efektif pengguna dalam proyek tersebut.

ProjectPermissionInherited

Apakah pengguna mewarisi izin ke proyek melalui azure DevOps atau keanggotaan grup AAD.

ProjectRef

Referensi ke proyek

ReferenceLinks

Kelas untuk mewakili kumpulan tautan referensi REST.

TeamRef

Referensi ke tim

UserEntitlement

Entitas pengguna dengan properti tambahan termasuk lisensi, ekstensi, dan keanggotaan proyek mereka

UserEntitlementOperationResult
UserEntitlementsPostResponse

AccessLevel

Lisensi yang ditetapkan untuk pengguna

Nama Jenis Deskripsi
accountLicenseType

AccountLicenseType

Jenis Lisensi Akun (misalnya Ekspres, Pemangku Kepentingan, dll.). Untuk menggunakan AccountLicenseType, LicensingSource harus didefinisikan sebagai 'akun' dalam isi permintaan.

assignmentSource

AssignmentSource

Sumber Penugasan Lisensi (misalnya Grup, Tidak Diketahui, dll.

licenseDisplayName

string

Nama tampilan Lisensi

licensingSource

LicensingSource

Sumber Lisensi (misalnya Akun. MSDN dll.)

msdnLicenseType

MsdnLicenseType

Jenis Lisensi MSDN (misalnya Visual Studio Professional, Visual Studio Enterprise, dll.). Untuk menggunakan MsdnLicenseType, LicensingSource harus didefinisikan sebagai 'msdn' dalam isi permintaan.

status

AccountUserStatus

Status pengguna di akun

statusMessage

string

Pesan status.

AccountLicenseType

Jenis Lisensi Akun (misalnya Ekspres, Pemangku Kepentingan, dll.). Untuk menggunakan AccountLicenseType, LicensingSource harus didefinisikan sebagai 'akun' dalam isi permintaan.

Nama Jenis Deskripsi
advanced

string

earlyAdopter

string

express

string

none

string

professional

string

stakeholder

string

AccountUserStatus

Status pengguna di akun

Nama Jenis Deskripsi
active

string

Pengguna telah masuk setidaknya sekali ke akun VSTS

deleted

string

Pengguna dihapus dari akun VSTS oleh admin akun VSTS

disabled

string

Pengguna tidak dapat masuk; terutama digunakan oleh admin untuk menghapus pengguna untuk sementara waktu karena tidak ada atau realokasi lisensi

expired

string

Pengguna dapat masuk; terutama digunakan ketika lisensi dalam status kedaluwarsa dan kami memberikan masa tenggang

none

string

pending

string

Pengguna diundang untuk bergabung dengan akun VSTS oleh admin akun VSTS, tetapi belum mendaftar/masuk

pendingDisabled

string

Pengguna dinonaktifkan; jika dapat diaktifkan kembali, mereka masih akan berada dalam status Tertunda

AssignmentSource

Sumber Penugasan Lisensi (misalnya Grup, Tidak Diketahui, dll.

Nama Jenis Deskripsi
groupRule

string

none

string

unknown

string

GraphGroup

Entitas grup grafik

Nama Jenis Deskripsi
_links

ReferenceLinks

Bidang ini berisi nol atau lebih tautan menarik tentang subjek grafik. Tautan ini dapat dipanggil untuk mendapatkan hubungan tambahan atau informasi lebih rinci tentang subjek grafik ini.

description

string

Frasa singkat untuk membantu pembaca manusia membedakan kelompok dengan nama yang sama

descriptor

string

Deskriptor adalah cara utama untuk mereferensikan subjek grafik saat sistem berjalan. Bidang ini akan mengidentifikasi subjek grafik yang sama secara unik di seluruh Akun dan Organisasi.

displayName

string

Ini adalah nama tampilan subjek grafik yang tidak unik. Untuk mengubah bidang ini, Anda harus mengubah nilainya di penyedia sumber.

domain

string

Ini mewakili nama kontainer asal untuk anggota grafik. (Untuk MSA ini adalah "Windows Live ID", untuk AD nama domain, untuk AAD tenantID direktori, untuk VSTS mengelompokkan ScopeId, dll)

legacyDescriptor

string

[Penggunaan Internal Saja] Deskriptor warisan ada di sini jika Anda perlu mengakses IMS versi lama menggunakan deskriptor identitas.

mailAddress

string

Alamat email rekaman untuk anggota grafik tertentu. Ini mungkin berbeda dari nama utama.

origin

string

Jenis penyedia sumber untuk pengidentifikasi asal (misalnya: AD, AAD, MSA)

originId

string

Pengidentifikasi unik dari sistem asal. Biasanya sid, id objek, atau Guid. Menautkan dan membatalkan tautan operasi dapat menyebabkan nilai ini berubah untuk pengguna karena pengguna tidak didukung oleh penyedia yang berbeda dan memiliki id unik yang berbeda di penyedia baru.

principalName

string

Ini adalah PrincipalName anggota grafik ini dari penyedia sumber. Penyedia sumber dapat mengubah bidang ini dari waktu ke waktu dan tidak dijamin tidak dapat diubah selama masa pakai anggota grafik oleh VSTS.

subjectKind

string

Bidang ini mengidentifikasi jenis subjek grafik (misalnya: Grup, Cakupan, Pengguna).

url

string

Url ini adalah rute lengkap ke sumber daya sumber subjek grafik ini.

GraphUser

Nama Jenis Deskripsi
_links

ReferenceLinks

Bidang ini berisi nol atau lebih tautan menarik tentang subjek grafik. Tautan ini dapat dipanggil untuk mendapatkan hubungan tambahan atau informasi lebih rinci tentang subjek grafik ini.

descriptor

string

Deskriptor adalah cara utama untuk mereferensikan subjek grafik saat sistem berjalan. Bidang ini akan mengidentifikasi subjek grafik yang sama secara unik di seluruh Akun dan Organisasi.

directoryAlias

string

Nama pendek yang umumnya unik untuk pengguna di direktori cadangan. Untuk pengguna AAD, ini sesuai dengan nama panggilan email, yang sering tetapi belum tentu mirip dengan bagian alamat email pengguna sebelum tanda @. Untuk pengguna GitHub, ini sesuai dengan handel pengguna GitHub.

displayName

string

Ini adalah nama tampilan subjek grafik yang tidak unik. Untuk mengubah bidang ini, Anda harus mengubah nilainya di penyedia sumber.

domain

string

Ini mewakili nama kontainer asal untuk anggota grafik. (Untuk MSA ini adalah "Windows Live ID", untuk AD nama domain, untuk AAD tenantID direktori, untuk VSTS mengelompokkan ScopeId, dll)

isDeletedInOrigin

boolean

Jika true, grup telah dihapus di IdP

legacyDescriptor

string

[Penggunaan Internal Saja] Deskriptor warisan ada di sini jika Anda perlu mengakses IMS versi lama menggunakan deskriptor identitas.

mailAddress

string

Alamat email rekaman untuk anggota grafik tertentu. Ini mungkin berbeda dari nama utama.

metaType

string

Jenis meta pengguna di asal, seperti "anggota", "tamu", dll. Lihat UserMetaType untuk kumpulan nilai yang mungkin.

origin

string

Jenis penyedia sumber untuk pengidentifikasi asal (misalnya: AD, AAD, MSA)

originId

string

Pengidentifikasi unik dari sistem asal. Biasanya sid, id objek, atau Guid. Menautkan dan membatalkan tautan operasi dapat menyebabkan nilai ini berubah untuk pengguna karena pengguna tidak didukung oleh penyedia yang berbeda dan memiliki id unik yang berbeda di penyedia baru.

principalName

string

Ini adalah PrincipalName anggota grafik ini dari penyedia sumber. Penyedia sumber dapat mengubah bidang ini dari waktu ke waktu dan tidak dijamin tidak dapat diubah selama masa pakai anggota grafik oleh VSTS.

subjectKind

string

Bidang ini mengidentifikasi jenis subjek grafik (misalnya: Grup, Cakupan, Pengguna).

url

string

Url ini adalah rute lengkap ke sumber daya sumber subjek grafik ini.

Group

Grup Proyek (misalnya Kontributor, Pembaca, dll.)

Nama Jenis Deskripsi
displayName

string

Nama Tampilan Grup

groupType

GroupType

Jenis Grup

GroupEntitlement

Entitas grup dengan properti tambahan termasuk lisensi, ekstensi, dan keanggotaan proyeknya

Nama Jenis Deskripsi
group

GraphGroup

Referensi anggota.

id

string

Pengidentifikasi unik yang cocok dengan Id GraphMember.

lastExecuted

string

[Baca saja] Terakhir kali aturan lisensi grup dijalankan (terlepas dari apakah ada perubahan yang dilakukan).

licenseRule

AccessLevel

Aturan Lisensi.

members

UserEntitlement[]

Anggota grup. Hanya digunakan saat membuat grup baru.

projectEntitlements

ProjectEntitlement[]

Hubungan antara proyek dan izin efektif anggota dalam proyek tersebut.

status

GroupLicensingRuleStatus

Status aturan grup.

GroupLicensingRuleStatus

Status aturan grup.

Nama Jenis Deskripsi
applied

string

Aturan diterapkan

applyPending

string

Aturan dibuat atau diperbarui, tetapi terapkan tertunda

incompatible

string

Aturan grup tidak kompatibel

unableToApply

string

Aturan gagal diterapkan secara tidak terduga dan harus dicoba ulang

GroupType

Jenis Grup

Nama Jenis Deskripsi
custom

string

projectAdministrator

string

projectContributor

string

projectReader

string

projectStakeholder

string

LicensingSource

Sumber Lisensi (misalnya Akun. MSDN dll.)

Nama Jenis Deskripsi
account

string

auto

string

msdn

string

none

string

profile

string

trial

string

MsdnLicenseType

Jenis Lisensi MSDN (misalnya Visual Studio Professional, Visual Studio Enterprise, dll.). Untuk menggunakan MsdnLicenseType, LicensingSource harus didefinisikan sebagai 'msdn' dalam isi permintaan.

Nama Jenis Deskripsi
eligible

string

enterprise

string

none

string

platforms

string

premium

string

professional

string

testProfessional

string

ultimate

string

ProjectEntitlement

Hubungan antara proyek dan izin efektif pengguna dalam proyek tersebut.

Nama Jenis Deskripsi
assignmentSource

AssignmentSource

Sumber Penugasan (misalnya Grup atau Tidak Diketahui).

group

Group

Grup Proyek (misalnya Kontributor, Pembaca, dll.)

projectPermissionInherited

ProjectPermissionInherited

Apakah pengguna mewarisi izin ke proyek melalui azure DevOps atau keanggotaan grup AAD.

projectRef

ProjectRef

Project Ref

teamRefs

TeamRef[]

Tim Ref.

ProjectPermissionInherited

Apakah pengguna mewarisi izin ke proyek melalui azure DevOps atau keanggotaan grup AAD.

Nama Jenis Deskripsi
inherited

string

notInherited

string

notSet

string

ProjectRef

Referensi ke proyek

Nama Jenis Deskripsi
id

string

ID Proyek.

name

string

Nama Proyek.

Kelas untuk mewakili kumpulan tautan referensi REST.

Nama Jenis Deskripsi
links

object

Tampilan baca-saja dari tautan. Karena tautan Referensi dibaca saja, kami hanya ingin mengeksposnya sebagai baca-saja.

TeamRef

Referensi ke tim

Nama Jenis Deskripsi
id

string

ID Tim

name

string

Nama Tim

UserEntitlement

Entitas pengguna dengan properti tambahan termasuk lisensi, ekstensi, dan keanggotaan proyek mereka

Nama Jenis Deskripsi
accessLevel

AccessLevel

Tingkat akses anggota ditandai dengan lisensi.

dateCreated

string

[Baca saja] Tanggal anggota ditambahkan ke koleksi.

groupAssignments

GroupEntitlement[]

[Baca saja] GroupEntitlements milik anggota ini.

id

string

Pengidentifikasi unik yang cocok dengan Id Identitas yang terkait dengan GraphMember.

lastAccessedDate

string

[Baca saja] Tanggal anggota terakhir kali mengakses koleksi.

projectEntitlements

ProjectEntitlement[]

Hubungan antara proyek dan izin efektif anggota dalam proyek tersebut.

user

GraphUser

Referensi pengguna.

UserEntitlementOperationResult

Nama Jenis Deskripsi
errors

object[]

Daftar kode kesalahan yang dipasangkan dengan pesan kesalahan yang sesuai.

isSuccess

boolean

Status keberhasilan operasi.

result

string

Menghasilkan properti pemberian izin. Untuk implementasi tertentu, lihat juga:

userId

string

Pengidentifikasi Anggota yang ditindaklanjuti.

UserEntitlementsPostResponse

Nama Jenis Deskripsi
isSuccess

boolean

True jika semua operasi berhasil.

operationResult

UserEntitlementOperationResult

Hasil operasi.

userEntitlement

UserEntitlement

Hasil penetapan pengguna setelah operasi diterapkan.