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 |
Access |
Tingkat akses anggota ditandai dengan lisensi. |
dateCreated |
string |
[Baca saja] Tanggal anggota ditambahkan ke koleksi. |
groupAssignments |
Group |
[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 |
Project |
Hubungan antara proyek dan izin efektif anggota dalam proyek tersebut. |
user |
Graph |
Referensi pengguna. |
Respons
Nama | Jenis | Deskripsi |
---|---|---|
200 OK |
User |
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 |
---|---|
Access |
Lisensi yang ditetapkan untuk pengguna |
Account |
Jenis Lisensi Akun (misalnya Ekspres, Pemangku Kepentingan, dll.). Untuk menggunakan AccountLicenseType, LicensingSource harus didefinisikan sebagai 'akun' dalam isi permintaan. |
Account |
Status pengguna di akun |
Assignment |
Sumber Penugasan Lisensi (misalnya Grup, Tidak Diketahui, dll. |
Graph |
Entitas grup grafik |
Graph |
|
Group |
Grup Proyek (misalnya Kontributor, Pembaca, dll.) |
Group |
Entitas grup dengan properti tambahan termasuk lisensi, ekstensi, dan keanggotaan proyeknya |
Group |
Status aturan grup. |
Group |
Jenis Grup |
Licensing |
Sumber Lisensi (misalnya Akun. MSDN dll.) |
Msdn |
Jenis Lisensi MSDN (misalnya Visual Studio Professional, Visual Studio Enterprise, dll.). Untuk menggunakan MsdnLicenseType, LicensingSource harus didefinisikan sebagai 'msdn' dalam isi permintaan. |
Project |
Hubungan antara proyek dan izin efektif pengguna dalam proyek tersebut. |
Project |
Apakah pengguna mewarisi izin ke proyek melalui azure DevOps atau keanggotaan grup AAD. |
Project |
Referensi ke proyek |
Reference |
Kelas untuk mewakili kumpulan tautan referensi REST. |
Team |
Referensi ke tim |
User |
Entitas pengguna dengan properti tambahan termasuk lisensi, ekstensi, dan keanggotaan proyek mereka |
User |
|
User |
AccessLevel
Lisensi yang ditetapkan untuk pengguna
Nama | Jenis | Deskripsi |
---|---|---|
accountLicenseType |
Account |
Jenis Lisensi Akun (misalnya Ekspres, Pemangku Kepentingan, dll.). Untuk menggunakan AccountLicenseType, LicensingSource harus didefinisikan sebagai 'akun' dalam isi permintaan. |
assignmentSource |
Assignment |
Sumber Penugasan Lisensi (misalnya Grup, Tidak Diketahui, dll. |
licenseDisplayName |
string |
Nama tampilan Lisensi |
licensingSource |
Licensing |
Sumber Lisensi (misalnya Akun. MSDN dll.) |
msdnLicenseType |
Msdn |
Jenis Lisensi MSDN (misalnya Visual Studio Professional, Visual Studio Enterprise, dll.). Untuk menggunakan MsdnLicenseType, LicensingSource harus didefinisikan sebagai 'msdn' dalam isi permintaan. |
status |
Account |
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 |
Reference |
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 |
Reference |
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 |
Group |
Jenis Grup |
GroupEntitlement
Entitas grup dengan properti tambahan termasuk lisensi, ekstensi, dan keanggotaan proyeknya
Nama | Jenis | Deskripsi |
---|---|---|
group |
Graph |
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 |
Access |
Aturan Lisensi. |
members |
User |
Anggota grup. Hanya digunakan saat membuat grup baru. |
projectEntitlements |
Project |
Hubungan antara proyek dan izin efektif anggota dalam proyek tersebut. |
status |
Group |
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 |
Assignment |
Sumber Penugasan (misalnya Grup atau Tidak Diketahui). |
group |
Grup Proyek (misalnya Kontributor, Pembaca, dll.) |
|
projectPermissionInherited |
Project |
Apakah pengguna mewarisi izin ke proyek melalui azure DevOps atau keanggotaan grup AAD. |
projectRef |
Project |
Project Ref |
teamRefs |
Team |
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. |
ReferenceLinks
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 |
Access |
Tingkat akses anggota ditandai dengan lisensi. |
dateCreated |
string |
[Baca saja] Tanggal anggota ditambahkan ke koleksi. |
groupAssignments |
Group |
[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 |
Project |
Hubungan antara proyek dan izin efektif anggota dalam proyek tersebut. |
user |
Graph |
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 |
User |
Hasil operasi. |
userEntitlement |
User |
Hasil penetapan pengguna setelah operasi diterapkan. |