Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Setiap ekstensi memiliki file manifes JSON yang menentukan informasi dasar tentang ekstensi. File ini juga mendefinisikan bagaimana file dapat memperluas dan meningkatkan pengalaman. Artikel ini memperlihatkan kepada Anda cara membuat manifes untuk ekstensi Anda ke Azure DevOps.
Petunjuk
Lihat dokumentasi terbaru kami tentang pengembangan ekstensi menggunakan Azure DevOps Extension SDK.
Buat file bernama vss-extension.json
di akar folder ekstensi Anda. File ini berisi atribut yang diperlukan, seperti ID ekstensi dan target penginstalannya, tempat file dapat dijalankan. Ini juga mendefinisikan kontribusi yang dibuat oleh ekstensi Anda.
Lihat contoh manifes tipikal berikut:
{
"manifestVersion": 1,
"id": "tools",
"version": "0.1.0",
"name": "Fabrikam Tools",
"publisher": "fabrikam",
"description": "Awesome tools to help you and your team do great things everyday.",
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"icons": {
"default": "images/fabrikam-logo.png"
},
"scopes": [
"vso.work",
"vso.code_write",
"vso.build_execute"
],
"categories": [
"Azure Boards"
],
"branding": {
"color": "rgb(34, 34, 34)",
"theme": "dark"
},
"content": {
"details": {
"path": "readme.md"
},
"license": {
"path": "eula.md"
}
},
"links": {
"getstarted": {
"uri": "https://www.fabrikam-fiber-inc.com/help/getstarted"
},
"support": {
"uri": "https://www.fabrikam-fiber-inc.com/support"
}
},
"repository": {
"type": "git",
"uri": "https://github.com/fabrikam-fiber-inc/myextension"
},
"contributions": [
{
"id": "showCommits",
"type": "ms.vss-web.action",
"description": "Adds a menu action from builds grid to show associated items.",
"targets": [
"ms.vss-build-web.completed-build-menu"
],
"properties": {
"title": "View associated items",
"uri": "launch.html"
}
}
],
"files": [
{
"path": "launch.html",
"addressable": true
},
{
"path": "node_modules/vss-web-extension-sdk/lib",
"addressable": true,
"packagePath": "lib"
}
]
}
Untuk informasi tentang input, lihat ...
Atribut yang diperlukan
Properti | Deskripsi | Catatan |
---|---|---|
manifestVersion | Angka yang sesuai dengan versi format manifes. | Seharusnya 1 . |
ID | Pengidentifikasi ekstensi. | ID adalah sebuah string yang harus unik di antara ekstensi-ekstensi dari penerbit yang sama. Ini harus dimulai dengan karakter alfabet atau numerik dan berisi 'A' melalui 'Z', 'a' hingga 'z', '0' hingga '9', dan '-' (tanda hubung). Contoh: sample-extension . |
versi | String yang menentukan versi ekstensi. | Harus dalam format major.minor.patch , misalnya 0.1.2 atau 1.0.0 . Anda juga bisa menambahkan angka keempat untuk format berikut: 0.1.2.3 |
nama | Nama pendek ekstensi yang mudah dipahami manusia. Dibatasi hingga 200 karakter. | Contoh: "Fabrikam Agile Board Extension" . |
penerbit | Pengidentifikasi penerbit. | Pengidentifikasi ini harus cocok dengan pengidentifikasi di bawah mana ekstensi diterbitkan. Lihat Membuat dan mengelola penerbit. |
Kategori | Array string yang mewakili kategori yang dimiliki ekstensi Anda. Setidaknya satu kategori harus disediakan dan tidak ada batasan jumlah kategori yang mungkin Anda sertakan. | Nilai yang valid: Azure Repos , , Azure Boards Azure Pipelines , Azure Test Plans , dan Azure Artifacts .Catatan:
- Jika Anda menggunakan ekstensi Azure DevOps Extension Tasks untuk menerbitkan, pastikan bahwa versinya adalah >1.2.8. Anda mungkin harus menyetujui pembaruan ekstensi karena perubahan cakupan terbaru. - Kategori yang disebutkan sebelumnya secara asli ada di Visual Studio Marketplace dan Azure DevOps Server 2019 & di atas. |
Sasaran | Produk dan layanan yang didukung oleh integrasi atau ekstensi Anda. Untuk informasi selengkapnya, lihat target penginstalan. | Array dari objek, di mana setiap objek memiliki bidang id yang menunjukkan salah satu dari berikut ini:
Microsoft.VisualStudio.Services (ekstensi yang berfungsi dengan Azure DevOps),- Microsoft.TeamFoundation.Server (ekstensi yang berfungsi dengan Azure DevOps Server),- Microsoft.VisualStudio.Services.Integration , - Microsoft.TeamFoundation.Server.Integration (integrasi yang berfungsi dengan Azure DevOps Server) |
Contoh atribut yang diperlukan
{
"manifestVersion": 1,
"id": "tools",
"version": "0.1.0",
"name": "Fabrikam Tools",
"publisher": "fabrikam",
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
Atribut opsional
Atribut runtime
Properti | Deskripsi | Catatan |
---|---|---|
cakupan | Sekumpulan cakupan otorisasi (string) yang mencantumkan izin yang diperlukan oleh ekstensi Anda. | Misalnya, vso.work dan vs.code_write menunjukkan ekstensi Anda memerlukan akses baca-saja ke item kerja dan akses baca/tulis ke kode sumber (dan sumber daya terkait). Cakupan ditampilkan kepada pengguna saat memasang ekstensi Anda. Untuk informasi selengkapnya, lihat daftar lengkap cakupan. |
Tuntutan | Array permintaan (string) yang mencantumkan kemampuan yang diperlukan oleh ekstensi Anda. | Misalnya, api-version/3.0 menunjukkan bahwa ekstensi Anda menggunakan API versi 3.0, sehingga tidak dapat berjalan di produk lama yang tidak mendukung versi ini. Untuk informasi selengkapnya, lihat daftar lengkap tuntutan. |
baseUri | URL dasar (Opsional) untuk semua URL relatif yang ditentukan oleh kontribusi ekstensi. | Misalnya: https://myapp.com/{{account.name}}/ . Properti ini harus dibiarkan kosong jika konten ekstensi Anda sudah termasuk dalam paket ekstensi Anda. |
Kontribusi | Sejumlah kontribusi kepada sistem. | |
contributionTypes | Array jenis kontribusi yang ditentukan oleh ekstensi |
{
"scopes": [
"vso.work",
"vso.code_write",
"vso.build_execute"
],
"demands": [
"api-version/3.0"
],
"contributions": [
{
"id": "showCommits",
"type": "ms.vss-web.action",
"description": "Adds a menu action from builds grid to show associated items.",
"targets": [
"ms.vss-build-web.completed-build-menu"
],
"properties": {
"title": "View associated items",
"uri": "launch.html"
}
}
]
}
Atribut penemuan
Properti opsional berikut ini membantu pengguna menemukan dan mempelajari tentang ekstensi Anda:
Properti | Deskripsi | Catatan |
---|---|---|
deskripsi | Beberapa kalimat yang menjelaskan ekstensi. Dibatasi hingga 200 karakter. | Deskripsi harus berupa ringkasan singkat ekstensi Anda - terdiri dari beberapa kalimat untuk menggambarkan ekstensi Anda di Marketplace dan menarik minat orang untuk menginstalnya. Lihat contoh di bawah ini |
Ikon | Kamus ikon yang mewakili ekstensi. | Kunci yang valid: default (128x128 piksel) jenis BMP, GIF, EXIF, JPG, PNG, dan TIFF). Kunci lain seperti large (512x512 piksel) dapat didukung di masa mendatang. Nilai setiap kunci adalah jalur ke file ikon dalam ekstensi |
tag | Array tag string untuk membantu pengguna menemukan ekstensi Anda. | Contoh: agile , , project management task timer , dan sebagainya. |
cuplikan layar | Deretan gambar yang tidak dapat disertakan dalam konten Anda. | Cuplikan layar lebih berharga saat ditampilkan dalam konten Anda, dan harus digunakan di sana untuk membantu membuat halaman detail pasar berkualitas untuk ekstensi Anda. Gunakan cuplikan layar untuk gambar yang kurang penting yang tidak ditampilkan dalam konten Anda. Setiap gambar harus 1366x768 piksel. Dari path setiap item adalah jalur ke file dalam ekstensi. |
konten | Kamus file konten yang menjelaskan ekstensi Anda kepada pengguna. |
Setiap ekstensi harus menyertakan konten yang solid. Ini adalah cara Anda akan menunjukkan kepada pengguna apa yang dapat dilakukan ekstensi Anda. Jadikan kaya, dapat dikonsumsi, dan sertakan cuplikan layar jika perlu. Sertakan file overview.md sebagai konten dasar Anda. Setiap file diasumsikan dalam format GitHub Flavored Markdown .
path setiap item adalah jalur menuju file Markdown dalam ekstensi. Kunci yang valid: details . Kunci lain mungkin didukung di masa mendatang. |
Link | Kamus tautan yang membantu pengguna mempelajari selengkapnya tentang ekstensi Anda, mendapatkan dukungan, dan memindahkan. | Kunci yang valid: getstarted - langkah pertama, cara menyiapkan atau menggunakan.
learn - konten yang lebih dalam untuk membantu pengguna lebih memahami ekstensi atau layanan Anda.
license - perjanjian lisensi pengguna akhir.
privacypolicy - kebijakan privasi untuk ekstensi.
support - dapatkan bantuan dan dukungan untuk ekstensi. Nilai setiap kunci adalah objek dengan uri bidang, yang merupakan URL absolut tautan |
Repositori | Kamus properti yang menjelaskan repositori kode sumber untuk ekstensi | Kunci yang Valid: type - Jenis repositori. Contoh: git.
uri - URL absolut dari repositori. |
Lencana | Array tautan ke lencana metadata eksternal seperti TravisCI, Appveyor, dan sejenisnya, dari situs resmi lencana yang disetujui | Kunci yang valid: href - Tautan yang diikuti pengguna saat memilih lencana.
uri - URL absolut gambar lencana yang akan ditampilkan.
description - Deskripsi lencana, yang akan ditampilkan saat pointer diarahkan. |
Branding | Kamus properti terkait merek. | Kunci yang valid: color - warna utama ekstensi atau penerbit; dapat berupa heks (#ff00ff), RGB (rgb(100.200.50)), atau nama warna HTML yang didukung (biru).
theme - melengkapi warna; gunakan gelap untuk warna branding gelap, atau terang untuk warna branding yang lebih terang. |
Tandai ekstensi sebagai publik
Secara default, semua ekstensi di Azure DevOps Marketplace bersifat privat. Mereka disembunyikan dari tampilan publik, dan hanya terlihat oleh penerbit dan akun tertentu yang dibagikan oleh penerbit. Jika penerbit Anda diverifikasi, Anda dapat membuat ekstensi Anda menjadi publik dengan mengatur Public
bendera di manifes ekstensi Anda:
{
"galleryFlags": [
"Public"
]
}
Atau:
{
"public": true
}
Untuk informasi selengkapnya, lihat Paket/Terbitkan/Instal.
Tandai ekstensi untuk pratinjau
Jika ekstensi Anda siap untuk dicoba oleh pengguna di Marketplace, tetapi Anda masih mengerjakan beberapa bug atau menambahkan fungsi, Anda dapat menandainya sebagai preview
:
{
"galleryFlags": [
"Preview"
]
}
Menandai ekstensi sebagai pratinjau berbayar
Jika Anda ingin menjual ekstensi di Marketplace, tandai sebagai pratinjau berbayar. Ekstensi yang ditandai gratis tidak dapat diubah menjadi berbayar.
{
"galleryFlags": [
"Paid",
"Preview"
]
}
Menandai ekstensi sebagai berbayar
Jika Anda ingin menjual ekstensi di Marketplace, Anda dapat menandainya dengan Paid
bendera dan __BYOLENFORCED
tag (dimulai dengan dua garis bawah):
{
"galleryFlags": [
"Paid"
],
"tags": [
"__BYOLENFORCED"
]
}
Flag Paid
dan tag __BYOLENFORCED
harus ada untuk menandai ekstensi sebagai berbayar di Marketplace. Bring-Your-Own-License (BYOL) berarti penerbit ekstensi menyediakan mekanisme penagihan dan lisensi untuk ekstensi, karena tidak disediakan oleh Ekstensi Microsoft untuk Azure DevOps. Semua ekstensi berbayar diperlukan untuk menentukan kebijakan privasi, kebijakan dukungan, dan perjanjian lisensi pengguna akhir. Penerbit harus menyediakan konten untuk tab harga di Marketplace sebagai berikut:
{
"content": {
"details": {
"path": "overview.md"
},
"pricing": {
"path": "pricing.md"
}
}
}
Anda juga perlu menambahkan bagian baru di manifes ekstensi Anda untuk mengambil alih lisensi berbayar. Di masa mendatang, kami menghapus pemeriksaan lisensi berbayar dan tidak lagi memerlukan penggantian. Untuk saat ini, pastikan ekstensi Anda ditampilkan seperti yang diharapkan. Setiap penimpaan terdiri dari "ID" dan "perilaku." Pastikan "ID" tersebut sesuai dengan ID kontribusi yang ditentukan dalam manifes.
"licensing": {
"overrides": [
{ "id": "my-hub", "behavior": " AlwaysInclude" }
]
}
Jika ekstensi BYOL berbayar Anda menawarkan periode uji coba (kami sarankan demikian), maka Anda dapat menentukan panjang uji coba dalam hari:
{
"galleryproperties": {
"trialDays": "30"
}
}
Catatan
Jika Anda ingin menargetkan Azure DevOps, tetapi tidak ingin menampilkan opsi Unduh untuk ekstensi Anda, tambahkan __DoNotDownload
tag (dimulai dengan dua garis bawah) ke manifes ekstensi.
Jika Anda memindahkan ekstensi dari lisensi penagihan & yang sebelumnya ditawarkan oleh Microsoft ke model BYOL, silakan hubungi kami untuk langkah-langkah yang sesuai.
Contoh properti lainnya
{
"description": "Awesome tools to help you and your team do great things everyday.",
"icons": {
"default": "images/fabrikam-logo.png"
},
"categories": [
"Plan and track"
],
"tags": [
"working",
"people person",
"search"
],
"content": {
"details": {
"path": "overview.md"
},
"license": {
"path": "license-terms.md"
}
},
"links": {
"home": {
"uri": "https://www.fabrikam-fiber-inc.com"
},
"getstarted": {
"uri": "https://www.fabrikam-fiber-inc.com/help/getstarted"
},
"learn": {
"uri": "https://www.fabrikam-fiber-inc.com/features"
},
"support": {
"uri": "https://www.fabrikam-fiber-inc.com/support"
},
"repository": {
"uri": "https://github.com/fabrikam-fiber-inc/tools"
},
"issues": {
"uri": "https://github.com/fabrikam-fiber-inc/tools/issues"
}
},
"repository": {
"type": "git",
"uri": "https://github.com/fabrikam-fiber-inc/tools"
},
"badges": [
{
"href": "https://travis.ci/fabrikam-fiber-inc/myextension",
"uri": "https://travis.ci/fabrikam-fiber-inc/myextension.svg?branch=master",
"description": "TravisCI build for the project"
},
{
"href": "https://ci.appveyor.com/projects/fabrikam-fiber-inc/myextension",
"uri": "https://ci.appveyor.com/api/projects/status/vlg2sgs2y7tsdxpj4c?svg=true",
"description": "AppVeyor build for the project"
}
],
"branding": {
"color": "rgb(34, 34, 34)",
"theme": "dark"
},
"screenshots": [
{
"path": "screenshots/screen1.png"
},
{
"path": "screenshots/screen2.png"
}
]
}
Contoh halaman detail
- 1 - deskripsi
- 2 - ikon
- 3 - kategori
- 4 - cuplikan layar
- 5 - konten (detail)
- 6 - tautan
- 7 - branding
Tanya Jawab Marketplace - Properti Dukungan Tanya Jawab Pelanggan
Semua ekstensi di Visual Studio Marketplace memiliki bagian Pertanyaan dan Jawaban (T & A) untuk memungkinkan percakapan publik satu per satu antara pengguna ekstensi dan penerbit. Penerbit dapat memilih antara Marketplace Q & A, isu GitHub, atau URL Q & A kustom. Anda dapat menonaktifkan Q & A di Marketplace menggunakan properti CustomerQnASupport
dalam manifes.
Pengalaman Bawaan (Tidak diperlukan perubahan pada manifes)
- Untuk ekstensi dengan repositori GitHub, Marketplace mengalihkan pengguna di bagian Tanya Jawab ke masalah GitHub terkait.
- Untuk ekstensi tanpa repositori GitHub, Tanya Jawab Marketplace diaktifkan.
Untuk pengalaman yang berbeda dari salah satu opsi default, gunakan properti CustomerQnASupport
dalam manifes.
{
"CustomerQnASupport": {
"enablemarketplaceqna": true,
"url": "http://uservoice.visualstudio.com"
}
}
Properti
Properti untuk bagian Dukungan Tanya Jawab Pelanggan:
-
enablemarketplaceqna - bidang boolean, diatur ke
true
untuk marketplace, atau tanya jawab kustom; false untuk menonaktifkan tanya jawab - url - string, URL untuk Tanya Jawab Kustom
Contoh menunjukkan penggunaan dukungan Tanya Jawab
Contoh: Ekstensi menggunakan Tanya Jawab khusus
{
"CustomerQnASupport": {
"enablemarketplaceqna":"true",
"url": "http://uservoice.visualstudio.com"
}
}
Contoh: Ekstensi dengan repositori GitHub tetapi menggunakan Tanya Jawab Marketplace, bukan isu GitHub
{
"CustomerQnASupport": {
"enablemarketplaceqna":"true"
}
}
Contoh: Ekstensi menonaktifkan bagian T & A
{
"CustomerQnASupport": {
"enablemarketplaceqna":"false"
}
}
Ruang Lingkup
Di ekstensi, Anda dapat menentukan satu atau beberapa cakupan. Cakupan ini menentukan sumber daya mana yang dapat diakses ekstensi Anda dan operasi yang diizinkan untuk dilakukan pada sumber daya tersebut. Cakupan yang Anda tentukan dalam manifes ekstensi adalah cakupan yang diatur pada token akses yang dikeluarkan untuk ekstensi Anda. Untuk informasi selengkapnya, lihat Autentikasi dan keamanan.
Jika tidak ada cakupan yang ditentukan, ekstensi hanya disediakan akses ke profil pengguna dan data ekstensi.
Cakupan yang didukung
Kategori | Cakupan | Nama | Hak istimewa tinggi | Deskripsi | Mewarisi dari |
---|---|---|---|---|---|
Keamanan Tingkat Lanjut | vso.advsec |
AdvancedSecurity (baca saja) | Ya | Memberikan kemampuan untuk membaca peringatan, instans hasil, dan instans hasil analisis. | |
vso.advsec_write |
AdvancedSecurity (baca dan tulis) | Ya | Memberikan kemampuan untuk mengunggah analisis dalam sarif. | vso.advsec |
|
vso.advsec_manage |
AdvancedSecurity (baca, tulis, dan kelola) | Ya | Memberikan kemampuan untuk mengunggah analisis dalam sarif. | vso.advsec_write |
|
Kumpulan Agen | vso.agentpools |
Kumpulan Agen (dibaca) | Memberikan kemampuan untuk melihat tugas, kumpulan, antrean, agen, dan pekerjaan yang saat ini berjalan atau baru-baru ini selesai untuk agen. | ||
vso.agentpools_manage |
Kumpulan Agen (membaca, mengelola) | Ya | Memberikan kemampuan untuk mengelola kumpulan, antrean, dan agen. | vso.agentpools |
|
vso.environment_manage |
Lingkungan (baca, kelola) | Ya | Memberikan kemampuan untuk mengelola kumpulan, antrean, agen, dan lingkungan. | vso.agentpools_manage |
|
Analitik | vso.analytics |
Analisis (baca) | Memberikan kemampuan untuk mengkueri data analitik. | ||
Audit | vso.auditlog |
Log Audit (dapat dibaca) | Memberikan kemampuan untuk membaca log audit kepada pengguna. | ||
vso.auditstreams_manage |
Aliran Audit (untuk dibaca) | Ya | Memberikan kemampuan untuk mengelola aliran audit kepada pengguna. | vso.auditlog |
|
Membangun | vso.build |
Build (baca selengkapnya) | Memberikan kemampuan untuk mengakses artefak build, termasuk hasil build, definisi, dan permintaan; serta kemampuan untuk menerima pemberitahuan tentang peristiwa build melalui hook layanan. | vso.hooks_write |
|
vso.build_execute |
Buat (baca dan jalankan) | Ya | Memberikan kemampuan untuk mengakses artefak build, termasuk hasil build, definisi, dan permintaan, serta kemampuan untuk mengantre dan memperbarui properti build, dan menerima pemberitahuan tentang peristiwa build melalui kait layanan (service hooks). | vso.build |
|
Kode | vso.code |
Kode (baca) | Memberikan kemampuan untuk membaca kode sumber dan metadata tentang komit, kumpulan perubahan, cabang, dan artefak kontrol versi lainnya. Selain itu, memberikan kemampuan untuk mencari kode dan menerima pemberitahuan tentang peristiwa pengendalian versi melalui layanan penghubung. | vso.hooks_write |
|
vso.code_write |
Kode (baca dan tulis) | Ya | Menyediakan kemampuan untuk membaca, memperbarui, dan menghapus kode sumber, mengakses metadata tentang komit, set perubahan, cabang, dan artefak kontrol versi lainnya. Juga memberikan kemampuan untuk membuat dan mengelola permintaan pull dan ulasan kode dan untuk menerima pemberitahuan tentang peristiwa kontrol versi melalui kait layanan. | vso.code |
|
vso.code_manage |
Kode (baca, tulis, dan kelola) | Ya | Menyediakan kemampuan untuk membaca, memperbarui, dan menghapus kode sumber, mengakses metadata tentang komit, set perubahan, cabang, dan artefak kontrol versi lainnya. Juga memungkinkan pembuatan dan pengelolaan repositori kode, pembuatan dan pengelolaan permintaan pull serta ulasan kode, dan menerima pemberitahuan tentang peristiwa kontrol versi melalui service hooks. | vso.code_write |
|
vso.code_full |
Kode (penuh) | Ya | Memberikan akses penuh ke kode sumber, metadata tentang komit, perubahan set, cabang, dan artefak kontrol versi lainnya. Juga memungkinkan pembuatan dan pengelolaan repositori kode, pembuatan dan pengelolaan permintaan pull serta ulasan kode, dan menerima pemberitahuan tentang peristiwa kontrol versi melalui service hooks. Juga termasuk dukungan terbatas untuk API Antarmuka Pemrograman Aplikasi (Klien OM). | vso.code_manage |
|
vso.code_status |
Kode (status) | Memberikan kemampuan untuk membaca dan menulis status commit dan permintaan tarik. | |||
Server Tersambung | vso.connected_server |
Server Tersambung | Memberikan kemampuan untuk mengakses titik akhir yang diperlukan dari server yang terhubung lokal. | ||
Hak | vso.entitlements |
Hak Akses (Baca) | Menyediakan akses baca saja ke titik akhir pemberian hak lisensi untuk mendapatkan hak akun. | ||
vso.memberentitlementmanagement |
Pengelolaan Hak Anggota (membaca) | Memberikan kemampuan untuk membaca pengguna, lisensi mereka serta proyek dan ekstensi yang dapat mereka akses. | |||
vso.memberentitlementmanagement_write |
Pengelolaan Hak Anggota (menulis) | Ya | Memberikan kemampuan untuk mengelola pengguna, lisensi mereka serta proyek dan ekstensi yang dapat mereka akses. | vso.memberentitlementmanagement |
|
Ekstensi | vso.extension |
Ekstensi (mode baca) | Memberikan kemampuan untuk membaca ekstensi yang diinstal. | vso.profile |
|
vso.extension_manage |
Ekstensi (baca dan kelola) | Ya | Memberikan kemampuan untuk menginstal, menghapus instalan, dan melakukan tindakan administratif lainnya pada ekstensi yang diinstal. | vso.extension |
|
vso.extension.data |
Pembacaan data ekstensi | Memberikan kemampuan untuk membaca data (pengaturan dan dokumen) yang disimpan oleh ekstensi yang diinstal. | vso.profile |
||
vso.extension.data_write |
Data ekstensi (baca dan tulis) | Memberikan kemampuan untuk membaca dan menulis data (pengaturan dan dokumen) yang disimpan oleh ekstensi yang diinstal. | vso.extension.data |
||
Koneksi Github | vso.githubconnections |
Koneksi GitHub (baca) | Memberikan kemampuan untuk membaca koneksi GitHub dan data repositori GitHub. | ||
vso.githubconnections_manage |
Koneksi GitHub (baca dan kelola) | Ya | Memberikan kemampuan untuk membaca dan mengelola koneksi GitHub dan data repositori GitHub | vso.githubconnections |
|
Grafik & identitas | vso.graph |
Grafik (membaca) | Memberikan kemampuan untuk membaca informasi pengguna, grup, cakupan, dan keanggotaan grup. | ||
vso.graph_manage |
Grafik (pengelolaan) | Ya | Memberikan kemampuan untuk membaca informasi keanggotaan pengguna, grup, cakupan, dan grup, dan untuk menambahkan pengguna, grup, dan mengelola keanggotaan grup. | vso.graph |
|
vso.identity |
Identitas (dibaca) | Memberikan kemampuan untuk membaca identitas dan grup. | |||
vso.identity_manage |
Pengelolaan Identitas | Ya | Memberikan kemampuan untuk membaca, menulis, dan mengelola identitas dan grup. | vso.identity |
|
Grup Mesin | vso.machinegroup_manage |
Grup penyebaran (baca, kelola) | Ya | Menyediakan kemampuan untuk mengelola grup penyebaran dan kumpulan agen. | vso.agentpools_manage |
Pasar | vso.gallery |
Marketplace | Memberikan akses baca ke item publik dan privat serta kepada penerbit. | vso.profile |
|
vso.gallery_acquire |
Marketplace (akuisisi) | Memberikan akses baca dan kemampuan untuk memperoleh barang. | vso.gallery |
||
vso.gallery_publish |
Marketplace (terbitkan) | Ya | Memberikan akses baca dan kemampuan untuk mengunggah, memperbarui, dan berbagi item. | vso.gallery |
|
vso.gallery_manage |
Marketplace (kelola) | Ya | Memberikan akses baca dan kemampuan untuk menerbitkan dan mengelola item dan penerbit. | vso.gallery_publish |
|
Pemberitahuan | vso.notification |
Pemberitahuan (sudah dibaca) | Menyediakan akses baca ke langganan dan metadata peristiwa, termasuk nilai bidang yang dapat difilter. | vso.profile |
|
vso.notification_write |
Pemberitahuan (tulis) | Menyediakan akses baca dan tulis ke langganan serta akses baca ke metadata peristiwa, termasuk nilai-nilai bidang yang dapat difilter. | vso.notification |
||
vso.notification_manage |
Pengelolaan pemberitahuan | Menyediakan akses baca, tulis, dan manajemen langganan serta akses baca ke metadata acara, termasuk nilai bidang yang dapat difilter. | vso.notification_write |
||
vso.notification_diagnostics |
Pemberitahuan (diagnostik) | Menyediakan akses ke log diagnostik terkait pemberitahuan dan menyediakan kemampuan untuk mengaktifkan diagnostik untuk langganan individual. | vso.notification |
||
Kemasan | vso.packaging |
Pengemasan (baca lebih lanjut) | Memberikan kemampuan untuk membaca umpan dan paket. | vso.profile |
|
vso.packaging_write |
Pengemasan (baca dan tulis) | Ya | Memberikan kemampuan untuk membuat dan membaca umpan dan paket. | vso.packaging |
|
vso.packaging_manage |
Pengemasan (baca, tulis, dan kelola) | Ya | Memberikan kemampuan untuk membuat, membaca, memperbarui, dan menghapus umpan dan paket. | vso.packaging_write |
|
Sumber Daya Alur | vso.pipelineresources_use |
Sumber Daya Pipeline (gunakan) | Ya | Memberikan kemampuan untuk menyetujui permintaan alur untuk menggunakan sumber daya yang dilindungi: kumpulan agen, lingkungan, antrean, repositori, file aman, koneksi layanan, dan grup variabel. | |
vso.pipelineresources_manage |
Sumber Daya Pipeline (gunakan dan kelola) | Ya | Memberikan kemampuan untuk mengelola sumber daya yang dilindungi atau permintaan alur untuk menggunakan sumber daya yang dilindungi: kumpulan agen, lingkungan, antrean, repositori, file aman, koneksi layanan, dan grup variabel. | vso.pipelineresources_use |
|
Proyek dan Tim | vso.project |
Proyek dan tim (silakan baca) | Memberikan kemampuan untuk membaca proyek dan tim. | ||
vso.project_write |
Proyek dan tim (baca dan tulis) | Memberikan kemampuan untuk membaca dan memperbarui proyek dan tim. | vso.project |
||
vso.project_manage |
Proyek dan tim (baca, tulis, dan kelola) | Ya | Memberikan kemampuan untuk membuat, membaca, memperbarui, dan menghapus proyek dan tim. | vso.project_write |
|
Rilis | vso.release |
Rilis (baca) | Memberikan kemampuan untuk mengakses artefak peluncuran, termasuk peluncuran, definisi peluncuran, dan lingkungan peluncuran. | vso.profile |
|
vso.release_execute |
Izinkan (baca, tulis, dan jalankan) | Ya | Memberikan kemampuan untuk membaca dan memperbarui artefak rilis, termasuk rilis, definisi rilis dan lingkungan rilis, dan kemampuan untuk mengantre rilis baru. | vso.release |
|
vso.release_manage |
Rilis (baca, tulis, jalankan, dan kelola) | Ya | Memberikan kemampuan untuk membaca, memperbarui, dan menghapus artefak rilis, termasuk rilis, definisi rilis, dan lingkungan rilis, dan kemampuan untuk mengantre dan menyetujui rilis baru. | vso.release_execute |
|
File yang Aman | vso.securefiles_read |
File yang Aman (baca) | Ya | Memberikan kemampuan untuk membaca file aman. | |
vso.securefiles_write |
File Aman (baca, buat) | Ya | Memberikan kemampuan untuk membaca dan membuat file aman. | vso.securefiles_read |
|
vso.securefiles_manage |
File Aman (baca, buat, dan kelola) | Ya | Memberikan kemampuan untuk membaca, membuat, dan mengelola file yang aman. | vso.securefiles_write |
|
Keamanan | vso.security_manage |
Keamanan (kelola) | Ya | Memberikan kemampuan untuk membaca, menulis, dan mengelola izin keamanan. | |
Sambungan Layanan | vso.serviceendpoint |
Titik Akhir Layanan (baca) | Memberikan kemampuan untuk membaca titik akhir layanan. | vso.profile |
|
vso.serviceendpoint_query |
Titik Akhir Layanan (baca dan kueri) | Memberikan kemampuan untuk membaca dan mengkueri titik akhir layanan. | vso.serviceendpoint |
||
vso.serviceendpoint_manage |
Titik Akhir Layanan (baca, kueri, dan kelola) | Ya | Memberikan kemampuan untuk membaca, mengkueri, dan mengelola titik akhir layanan. | vso.serviceendpoint_query |
|
Service Hooks | vso.hooks |
Pengait layanan (baca) | Memberikan kemampuan untuk membaca langganan layanan hook dan metadata, termasuk peristiwa, konsumen, dan tindakan yang didukung. (Tidak lagi publik.) | vso.profile |
|
vso.hooks_write |
Pengait layanan (baca dan tulis) | Memberikan kemampuan untuk membuat dan memperbarui langganan pengait layanan serta membaca metadata, termasuk event, pelanggan, dan tindakan yang didukung. (Tidak lagi publik.) | vso.hooks |
||
vso.hooks_interact |
Pengait layanan (berinteraksi) | Memberikan kemampuan untuk berinteraksi dan melakukan tindakan pada peristiwa yang diterima melalui hook layanan. (Tidak lagi publik.) | vso.profile |
||
Pengaturan | vso.settings |
Pengaturan (baca) | Memberikan kemampuan untuk membaca pengaturan. | ||
vso.settings_write |
Pengaturan (membaca dan menulis) | Memberikan kemampuan untuk membaca dan menulis pengaturan. | vso.settings |
||
Simbol | vso.symbols |
Simbol-simbol (dibaca) | Memberikan kemampuan untuk membaca simbol. | vso.profile |
|
vso.symbols_write |
Simbol (baca dan tulis) | Memberikan kemampuan untuk membaca dan menulis simbol. | vso.symbols |
||
vso.symbols_manage |
Simbol (baca, tulis, dan kelola) | Memberikan kemampuan untuk membaca, menulis, dan mengelola simbol. | vso.symbols_write |
||
Kelompok Tugas | vso.taskgroups_read |
Grup Tugas (membaca) | Memberikan kemampuan untuk membaca grup tugas. | ||
vso.taskgroups_write |
Kelompok Tugas (membaca, membuat) | Memberikan kemampuan untuk membaca dan membuat grup tugas. | vso.taskgroups_read |
||
vso.taskgroups_manage |
Grup Tugas (membaca, membuat, dan mengelola) | Ya | Memberikan kemampuan untuk membaca, membuat, dan mengelola grup tugas. | vso.taskgroups_write |
|
Papan Kendali Tim | vso.dashboards |
Papan pemantau tim (baca lebih lanjut) | Memberikan kemampuan untuk membaca informasi dasbor tim. | ||
vso.dashboards_manage |
Dasbor Tim untuk Pengelolaan | Memberikan kemampuan untuk mengelola informasi dasbor tim. | vso.dashboards |
||
Manajemen Pengujian | vso.test |
Manajemen pengujian (baca) | Memberikan kemampuan untuk membaca rencana pengujian, kasus, hasil, dan artefak terkait manajemen pengujian lainnya. | vso.profile |
|
vso.test_write |
Manajemen pengujian (baca dan tulis) | Memberikan kemampuan untuk membaca, membuat, dan memperbarui rencana pengujian, kasus, hasil, dan artefak terkait manajemen pengujian lainnya. | vso.test |
||
Utas | vso.threads_full |
Diskusi PR | Memungkinkan membaca dan menulis pada utas komentar permintaan penarikan. | ||
Token | vso.tokens |
Token Otorisasi yang Didelegasikan | Ya | Memberikan kemampuan untuk mengelola token otorisasi yang didelegasikan kepada pengguna. | |
vso.tokenadministration |
Administrasi Token | Ya | Memberikan kemampuan untuk mengelola (melihat dan mencabut) token yang ada kepada administrator organisasi. | ||
Profil Pengguna | vso.profile |
Membaca profil pengguna | Memberikan kemampuan untuk membaca profil, akun, koleksi, proyek, tim, dan artefak organisasi tingkat atas Lainnya. | ||
vso.profile_write |
Profil pengguna (sedang menulis) | Memberikan kemampuan untuk menulis ke profil Anda. | vso.profile |
||
Kelompok Variabel | vso.variablegroups_read |
Grup Variabel (baca saja) | Memberikan kemampuan untuk membaca grup variabel. | ||
vso.variablegroups_write |
Grup Variabel (baca, buat) | Memberikan kemampuan untuk membaca dan membuat grup variabel. | vso.variablegroups_read |
||
vso.variablegroups_manage |
Grup Variabel (baca, buat, dan kelola) | Ya | Memberikan kemampuan untuk membaca, membuat, dan mengelola grup variabel. | vso.variablegroups_write |
|
Wiki | vso.wiki |
Wiki (baca lebih lanjut) | Memberikan kemampuan untuk membaca wiki, halaman wiki, dan lampiran wiki. Juga memberikan kemampuan untuk mencari halaman wiki. | ||
vso.wiki_write |
Wiki (baca dan tulis) | Memberikan kemampuan untuk membaca, membuat, dan memperbarui wiki, halaman wiki, dan lampiran wiki. | vso.wiki |
||
Item Kerja | vso.work |
Item kerja (terbaca) | Memberikan kemampuan untuk membaca item kerja, kueri pencarian, papan, jalur area dan iterasi, beserta metadata lain yang terkait dengan pelacakan item kerja. Juga memberikan kemampuan untuk menjalankan kueri, mencari item kerja, dan menerima pemberitahuan tentang kejadian item kerja melalui pengait layanan. | vso.hooks_write |
|
vso.work_write |
Item kerja (baca dan tulis) | Memberikan kemampuan untuk membaca, membuat, dan memperbarui item dan kueri kerja, memperbarui metadata papan, membaca jalur area dan iterasi serta metadata terkait pelacakan item kerja lainnya, menjalankan kueri, dan menerima pemberitahuan tentang peristiwa item kerja melalui webhook layanan. | vso.work |
||
vso.work_full |
Item kerja (lengkap) | Memberikan akses penuh ke item kerja, kueri, backlog, rencana, dan metadata pelacakan item kerja. Juga menyediakan kemampuan untuk menerima pemberitahuan tentang kejadian pada item kerja melalui kaitan layanan. | vso.work_write |
||
Peniruan Identitas Pengguna | user_impersonation |
Peniruan Identitas Pengguna | Ya | Memiliki akses penuh ke REST API Visual Studio Team Services. Minta dan/atau setujui cakupan ini dengan hati-hati karena sangat kuat! |
Mengubah cakupan ekstensi yang diterbitkan
Anda dapat mengubah cakupan ekstensi yang diterbitkan. Jika sebelumnya Anda menginstal ekstensi (dan mengotorisasi kumpulan cakupan sebelumnya), otorisasi cakupan baru sebelum Anda dapat meningkatkan ke versi terbaru.
Bagian Tindakan yang Diperlukan dari hub Pengaturan ekstensi memperlihatkan pengguna yang, jika ada, ekstensi yang diinstal memerlukan otorisasi:
Administrator kemudian dapat meninjau dan mengotorisasi serangkaian cakupan baru:
Sasaran Penginstalan
Seperti namanya, target penginstalan menentukan produk dan layanan tempat Anda dapat menginstal ekstensi Anda.
Microsoft.VisualStudio.Services
adalah target penginstalan yang paling umum dan menunjukkan bahwa ekstensi dapat diinstal ke Azure DevOps.
Target penginstalan untuk ekstensi atau integrasi ditentukan melalui targets
bidang dalam manifes.
Pengidentifikasi yang didukung untuk ekstensi:
-
Microsoft.VisualStudio.Services.Cloud
: menginstal ke Layanan Azure DevOps -
Microsoft.TeamFoundation.Server
: menginstal ke Azure DevOps Server -
Microsoft.VisualStudio.Services
: menginstal ke dalam keduanya. Pintasan untukMicrosoft.VisualStudio.Services.Cloud
danMicrosoft.TeamFoundation.Server
versi[14.2,)
Pengidentifikasi yang didukung untuk integrasi:
-
Microsoft.VisualStudio.Services.Cloud.Integration
: terintegrasi dengan Azure DevOps Services -
Microsoft.TeamFoundation.Server.Integration
: terintegrasi dengan Azure DevOps Server -
Microsoft.VisualStudio.Services.Integration
: terintegrasi dengan keduanya. Jalan pintas untukMicrosoft.VisualStudio.Services.Cloud.Integration
danMicrosoft.TeamFoundation.Server.Integration
Untuk informasi selengkapnya, lihat Titik Ekstensibilitas.
Contoh target penginstalan
Contoh: Ekstensi yang berfungsi dengan Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
Contoh: Ekstensi yang hanya berfungsi dengan Azure DevOps Services
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
}
]
}
Target penginstalan juga dapat digunakan dalam manifes integrasi. Misalnya, produk, aplikasi, atau alat yang berfungsi bersamaan dengan, tetapi tidak diinstal ke dalam Azure DevOps.
Contoh: Integrasi yang berfungsi dengan Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Integration"
}
]
}
Contoh: Integrasi yang hanya berfungsi dengan Azure DevOps Server
{
"targets": [
{
"id": "Microsoft.TeamFoundation.Server.Integration"
}
]
}
Target versi instalasi
Beberapa pengidentifikasi target penginstalan, seperti Microsoft.TeamFoundation.Server
dan Microsoft.TeamFoundation.Server.Integration
, mendukung rentang versi opsional. Rentang versi opsional ini memberikan kejelasan lebih lanjut tentang rilis yang didukung untuk ekstensi atau integrasi tersebut.
Rentang versi atau versi ditentukan melalui version
bidang pada objek target penginstalan. Nilai ini dapat berupa:
- Versi tertentu, misalnya:
15.0
(hanya RTM 2017) - Rentang versi yang didukung, misalnya:
[14.0)
(RTM 2015 dan yang lebih baru),[14.3,15.1]
(2015 Pembaruan 3 hingga 2017 Pembaruan 1). Nilai rentang disempurnakan menggunakan:-
[
: versi minimum yang disertakan -
]
: versi maksimum termasuk -
(
: versi minimum eksklusif -
)
: versi maksimum eksklusif
-
Nomor versi untuk Azure DevOps Server:
Lepaskan | Rilis | Versi |
---|---|---|
2010 | Semua rilis | 10.0 |
2012 | Semua rilis | 11.0 |
2013 | RTM dan pembaruan | 12.0, 12.1, 12.2, 12.3, 12.4 |
2015 | RTM dan pembaruan | 14.0, 14.1, 14.2, 14.3 |
2017 | RTM dan pembaruan | 15.0, 15.1 |
2018 | RTM dan pembaruan | 16,0 |
2019 | RTM dan pembaruan | 17,0 |
2020 | RTM dan pembaruan | 18,0 |
Contoh yang menunjukkan versi
Contoh: Ekstensi yang berfungsi dengan Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
},
{
"id": "Microsoft.TeamFoundation.Server",
"version": "[15.0,)"
}
]
}
Jalan Pintas
Microsoft.VisualStudio.Services
adalah pintasan untuk Azure DevOps.
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
setara dengan:
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
},
{
"id": "Microsoft.TeamFoundation.Server",
"version": "[14.2,)"
}
]
}
Menggunakan target dan kebutuhan penginstalan
Target dan tuntutan penginstalan digunakan bersama-sama untuk menyajikan pengguna dengan tampilan produk dan layanan yang benar yang kompatibel dengan ekstensi atau integrasi Anda. Misalnya, menentukan target penginstalan Microsoft.VisualStudio.Services
dengan kebutuhan api-version/3.0
berarti ekstensi berfungsi dengan Azure DevOps.
Petunjuk
Untuk informasi selengkapnya tentang REST API, lihat Referensi REST API.
Contoh: Ekstensi yang menggunakan API versi 3.0
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"demands": [
"api-version/3.0"
]
}
Menetapkan target penginstalan berikut:
Microsoft.VisualStudio.Services.Cloud
-
Microsoft.TeamFoundation.Server
versi:[15.0,)
Contoh: Integrasi yang menggunakan API versi 2.0
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Integration"
}
],
"demands": [
"api-version/2.0"
]
}
Menetapkan target penginstalan berikut:
Microsoft.VisualStudio.Services.Cloud.Integration
-
Microsoft.TeamFoundation.Server.Integration
versi:[14.0,)
Tuntutan
Tuntutan memungkinkan Anda menentukan kemampuan dan fitur lain yang diperlukan oleh ekstensi Anda. Anda dapat menggunakan tuntutan ini untuk membatasi tempat ekstensi Anda dapat diterbitkan atau diinstal.
Tuntutan digunakan oleh Visual Studio Marketplace untuk mencantumkan produk dan lingkungan yang kompatibel dengan ekstensi Anda, yang membantu pelanggan memahami apakah ekstensi Anda berfungsi dengan versi Azure DevOps mereka, misalnya.
Lihat contoh berikut mengenai cara persyaratan ditentukan dalam manifesto ekstensi.
{
"demands": [
"api-version/3.0",
"contribution/ms.vss-dashboards-web.widget-catalog"
]
}
Dalam contoh ini, ekstensi menuntut API versi 3.0, yang berarti hanya dapat diinstal ke Azure DevOps. Ini juga mengharuskan ms.vss-dashboards-web
ekstensi (dan kontribusinya widget-catalog
) diinstal (dan diaktifkan) dalam koleksi sebelum ekstensi Anda dapat diinstal.
Tuntutan yang didukung
Tipe | Deskripsi | Diperiksa pada saat dipublikasikan? | Apakah diperiksa saat pemasangan? |
---|---|---|---|
environment/cloud |
Memerlukan berjalan di lingkungan cloud | Ya | Ya |
environment/onprem |
Diperlukan beroperasi di lingkungan di lokasi | Ya | Ya |
api-version/{version} |
Memerlukan versi API tertentu (minimum) | Tidak | Ya |
extension/{id} |
Mengharuskan ekstensi tertentu diinstal/diaktifkan | Tidak | Ya |
contribution/{id} |
Memerlukan kontribusi tertentu tersedia | Tidak | Ya |
contributionType/{id} |
Memerlukan jenis kontribusi tertentu tersedia | Tidak | Ya |
Catatan
- Gunakan
environment/cloud
danenvironment/onprem
hanya ketika ekstensi Anda memiliki persyaratan terkait topologi yang memerlukan berjalan di lingkungan tertentu. -
extension
,contribution
, dancontributionType
permintaan dievaluasi pada waktu penginstalan dan membutuhkan bahwa ekstensi yang ditentukan sudah diinstal dan diaktifkan pada organisasi atau koleksi.
Files
Bagian files
ini adalah tempat Anda mereferensikan file apa pun yang ingin Anda sertakan dalam ekstensi Anda. Anda dapat menambahkan folder dan file individual:
{
"files": [
{
"path": "hello-world.html", "addressable": true
},
{
"path": "scripts", "addressable": true
},
{
"path": "images/logo.png", "addressable": true, "packagePath": "/"
}
]
}
Properti
Properti untuk bagian File:
- path - Jalur ke sumber daya pada disk, yang bisa relatif terhadap direktori utama Anda.
- addressable – (Opsional) Atur ke true jika Anda ingin file Anda dapat diakses melalui URL. Pengaturan awal ke false.
- packagePath – (opsional) Jalur ke sumber daya dalam paket. Secara default ke jalur relatif di disk dari direktori akar Anda.
- contentType – (opsional) jenis MIME file. Pengaturan default diatur ke perkiraan terbaik berdasarkan ekstensi file dan pengaturan sistem operasi.
- assetType – (opsional) Tentukan nilai atribut Jenis entri aset dalam manifes VSIX. Dapat juga menjadi array string, dalam hal ini beberapa entri aset ditambahkan untuk file ini. Secara default diarahkan ke packagePath.
- lang – (opsional) Bahasa dari aset ini. File terlokalisasi disajikan berdasarkan header Accept-Language. Biarkan kosong untuk menandakan file ini berada dalam bahasa default (atau fallback). Versi yang dilokalkan dari file yang sama harus memiliki assetType yang sama.
Kontribusi
Setiap entri kontribusi memiliki properti berikut:
- id - ID referensi (string) untuk kontribusi. Buat setiap ID kontribusi unik dalam ekstensi. Lihat rujukan kontribusi dan jenisnya.
- type - ID dari contributionType untuk kontribusi ini.
- description - (Opsional) String yang menjelaskan apa yang diberikan kontribusi.
- targets - Sebuah array dari ID-ID kontribusi yang menjadi target kontribusi (yang berkontribusi). Lihat Kontribusi yang Ditargetkan.
- properties - (Opsional) Objek yang menyertakan properti untuk kontribusi seperti yang didefinisikan dalam jenis kontribusi.
Untuk informasi selengkapnya, lihat gambaran umum model kontribusi.
Jenis kontribusi
Setiap entri kontribusi memiliki properti berikut:
- id - ID referensi (string) untuk jenis kontribusi. Buat setiap ID jenis kontribusi unik dalam ekstensi. Lihat rujukan kontribusi dan jenisnya.
- name - Nama ramah dari jenis kontribusi.
- description - (Opsional) String yang menjelaskan secara lebih rinci untuk apa jenis kontribusi tersebut.
- properties - (Opsional) Kamus yang memetakan nama properti ke deskripsi properti. Properti ini menjelaskan properti yang diperlukan dan opsional yang dapat digunakan pada kontribusi jenis ini.
Deskripsi properti memiliki properti berikut:
- description - (Opsional) String yang menjelaskan untuk apa properti digunakan.
- wajib - (Opsional) Nilai boolean, yang jika benar menunjukkan bahwa properti diperlukan untuk semua kontribusi jenis ini.
- type - Jenis nilai yang dapat dimiliki properti, yang bisa berupa string, uri, guid, boolean, bilangan bulat, double, dateTime, array, atau objek.
Untuk informasi selengkapnya, lihat gambaran umum model kontribusi.
Mereferensikan kontribusi dan jenis
Gunakan pengidentifikasi unik untuk mereferensikan kontribusi dan jenis kontribusi. Referensikan jenis dengan properti type
, dan referensikan kontribusi lainnya dengan properti targets
.
-
Referensi kontribusi lengkap mencakup pengidentifikasi penerbit, pengidentifikasi ekstensi, dan pengidentifikasi kontribusi/jenis, dipisahkan oleh titik (.). Misalnya,
ms.vss-web.hub
adalah identifikasi lengkap untuk kontribusi dengan identifikasihub
dalam ekstensivss-web
yang diterbitkan oleh penerbitan "ms" (Microsoft). -
Referensi kontribusi relatif mungkin digunakan dalam manifes ekstensi untuk referensi kontribusi ke jenis kontribusi atau kontribusi lain dalam ekstensi yang sama. Dalam kasus ini, identitas penerbit dan ekstensi TIDAK disertakan, dan pengidentifikasi berupa titik (
.
) yang diikuti oleh pengidentifikasi kontribusi. Misalnya,.hub
dapat digunakan dalam ekstensivss-web
yang disebutkan sebelumnya sebagai pintasan untukms.vss-web.hub
.
Kontribusi yang Ditargetkan
Beberapa kontribusi bertindak sebagai wadah yang ditargetkan oleh kontribusi lainnya.
- Kontribusi pada hub dapat diarahkan ke Grup Hub. Saat halaman dirender, UI web menampilkan semua kontribusi Hub yang menargetkan grup hub yang dipilih. Grup hub menargetkan kumpulan grup hub, yang menentukan sekumpulan grup hub yang muncul di area navigasi tertentu, misalnya, halaman admin tingkat proyek.
- Berbagai jenis kontribusi dapat menargetkan menu: tindakan, tindakan hyperlink, dan penyedia tindakan. Tindakan dan tindakan hyperlink menyediakan entri item menu tunggal. Penyedia tindakan dapat menyediakan beberapa item menu dinamis. Untuk menu tertentu, item-item dikumpulkan dari semua kontribusi (dari jenis apa pun) yang ditujukan untuk kontribusi menu tersebut.
Menambahkan ikon hub
Untuk informasi tentang menambahkan ikon ke hub Anda, lihat panduan ikon hub.
Layanan lencana yang didukung
Marketplace hanya mendukung lencana dari layanan tepercaya berikut:
- api.travis-ci.org/
- badge.fury.io/
- badges.frapsoft.com/
- badges.gitter.im/
- badges.greenkeeper.io/
- cdn.travis-ci.org/
- ci.appveyor.com/
- codeclimate.com/
- codecov.io/
- coveralls.io/
- david-dm.org/
- gemnasium.com/
- img.shields.io/
- isitmaintained.com/
- marketplace.visualstudio.com/
- snyk.io/
- travis-ci.com/
- travis-ci.org/
- vsmarketplacebadges.dev/
- bithound.io/
- deepscan.io/
- githost.io/
- gitlab.com/
- opencollective.co/
Catatan
Ganti vsmarketplacebadge.apphb.com
dengan vsmarketplacebadges.dev
.
Untuk menampilkan lencana dari layanan lain, hubungi Dukungan Pelanggan di Komunitas Pengembang.
Contoh daftar rincian
Ekstensi berikut menambahkan suatu tindakan pada menu konteks build yang telah selesai dan sebuah hub pada grup Build Hub.
{
"manifestVersion": 1,
"id": "tools",
"version": "0.1.0",
"name": "Fabrikam Tools",
"publisher": "fabrikam",
"description": "Awesome tools to help you and your team do great things everyday.",
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"demands": [
"api-version/3.0"
],
"icons": {
"default": "images/fabrikam-logo.png"
},
"scopes": [
"vso.work",
"vso.code_write"
],
"categories": [
"Plan and track"
],
"tags": [
"working",
"people person",
"search"
],
"branding": {
"color": "rgb(34, 34, 34)",
"theme": "dark"
},
"screenshots": [
{
"path": "screenshots/screen1.png"
},
{
"path": "screenshots/screen2.png"
}
],
"content": {
"details": {
"path": "overview.md"
},
"license": {
"path": "eula.md"
}
},
"links": {
"home": {
"uri": "https://www.fabrikam-fiber-inc.com"
},
"getstarted": {
"uri": "https://www.fabrikam-fiber-inc.com/help/getstarted"
},
"learn": {
"uri": "https://www.fabrikam-fiber-inc.com/features"
},
"support": {
"uri": "https://www.fabrikam-fiber-inc.com/support"
},
"repository": {
"uri": "https://github.com/fabrikam-fiber-inc/tools"
},
"issues": {
"uri": "https://github.com/fabrikam-fiber-inc/tools/issues"
}
},
"repository": {
"type": "git",
"uri": "https://github.com/fabrikam-fiber-inc/myextension"
},
"badges": [
{
"href": "https://travis.ci/fabrikam-fiber-inc/myextension",
"uri": "https://travis.ci/fabrikam-fiber-inc/myextension.svg?branch=master",
"description": "TravisCI build for the project"
},
{
"href": "https://ci.appveyor.com/projects/fabrikam-fiber-inc/myextension",
"uri": "https://ci.appveyor.com/api/projects/status/vlg2sgs2y7tsdxpj4c?svg=true",
"description": "AppVeyor build for the project"
}
],
"contributions": [
{
"id": "showCommits",
"type": "ms.vss-web.action",
"description": "Adds a menu action from builds grid to show associated items.",
"targets": [
"ms.vss-build-web.completed-build-menu"
],
"properties": {
"title": "View associated items",
"uri": "launch.html"
}
}
]
}