Referensi manifes ekstensi
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.
Tip
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 umum 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. | harus 1 . |
ID | Pengidentifikasi ekstensi. | ID Th adalah string yang harus unik di antara 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 ekstensi singkat yang dapat dibaca manusia. Dibatasi hingga 200 karakter. | Contoh: "Fabrikam Agile Board Extension" . |
penerbit | Pengidentifikasi penerbit. | Pengidentifikasi ini harus cocok dengan pengidentifikasi tempat 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 Tugas Ekstensi Azure DevOps untuk menerbitkan, pastikan versinya = >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. Untuk ekstensi yang menargetkan versi TFS yang lebih lama:
- Jika Anda akan membagikan ekstensi secara langsung (yaitu, bukan melalui Visual Studio Marketplace) dengan pelanggan yang menggunakan TFS <=2018, maka gunakan kategori berikut sebagai gantinya: Kode, Rencanakan dan lacak, Bangun dan rilis, Uji, Berkolaborasi, dan Integrasikan. Jika Anda perlu membagikan keduanya melalui Visual Studio Marketplace dan langsung dengan pelanggan TFS <= 2018 maka Anda harus memiliki 2 paket ekstensi. |
Target | Produk dan layanan yang didukung oleh integrasi atau ekstensi Anda. Untuk informasi selengkapnya, lihat target penginstalan. | Array objek, di mana setiap objek memiliki bidang yang id menunjukkan salah satu hal berikut ini:
Microsoft.VisualStudio.Services (ekstensi yang berfungsi dengan Azure DevOps atau TFS),Microsoft.TeamFoundation.Server - (ekstensi yang berfungsi dengan TFS),- Microsoft.VisualStudio.Services.Integration (integrasi yang berfungsi dengan Azure DevOps atau TFS), - Microsoft.TeamFoundation.Server.Integration (integrasi yang berfungsi dengan TFS) |
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 | Array izin daftar cakupan otorisasi (string) 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 disajikan kepada pengguna saat menginstal 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 dibungkus dengan ekstensi Anda. |
Kontribusi | Array kontribusi ke 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 ini membantu pengguna menemukan dan mempelajari ekstensi Anda:
Properti | Deskripsi | Catatan |
---|---|---|
description | Beberapa kalimat yang menjelaskan ekstensi. Dibatasi hingga 200 karakter. | Deskripsinya harus berupa "elevator pitch" ekstensi Anda - beberapa baris untuk menggambarkan ekstensi Anda di Marketplace dan membuat orang ingin 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 | Array 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. |
puas | 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. overview.md Sertakan file sebagai bagian konten dasar Anda. Setiap file diasumsikan dalam format GitHub Flavored Markdown . Dari path setiap item adalah jalur ke file Markdown di 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 repositori. |
Lencana | Array tautan ke lencana metadata eksternal seperti TravisCI, Appveyor, dan sebagainya, dari situs lencana yang disetujui | Kunci yang valid: href - Tautkan pengguna menavigasi ke saat memilih lencana. uri - URL absolut gambar lencana yang akan ditampilkan. description - Deskripsi lencana, yang akan ditampilkan di hover. |
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. |
Menandai ekstensi publik
Secara default, semua ekstensi di Azure DevOps Marketplace bersifat privat. Mereka hanya terlihat oleh penerbit dan akun 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.
Menandai ekstensi untuk berada dalam 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"
]
}
Paid
Bendera dan __BYOLENFORCED
tag 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 penimpaan. Untuk saat ini, pastikan ekstensi Anda ditampilkan seperti yang diharapkan. Setiap penimpaan terdiri dari "ID" dan "perilaku." Buat "ID" cocok 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 penagihan &lisensi yang ditawarkan sebelumnya dari Microsoft ke model BYOL, 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
T & A Marketplace - Properti CustomerQnASupport
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 Pertanyaan dan Jawaban Marketplace (Tanya Jawab), masalah GitHub, atau URL Tanya Jawab Kustom. Anda dapat menonaktifkan Tanya Jawab di Marketplace menggunakan properti CustomerQnASupport dalam manifes.
Pengalaman default (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 Umum Pelanggan:
- enablemarketplaceqna - bidang boolean, diatur ke
true
untuk marketplace, atau tanya jawab kustom; false untuk menonaktifkan Tanya Jawab Umum - url - string, URL untuk Tanya Jawab Kustom
Contoh yang menunjukkan penggunaan dukungan T & A
Contoh: Ekstensi menggunakan T & A kustom
{
"CustomerQnASupport": {
"enablemarketplaceqna":"true",
"url": "http://uservoice.visualstudio.com"
}
}
Contoh: Ekstensi dengan repositori GitHub tetapi menggunakan T & A Marketplace, bukan masalah GitHub
{
"CustomerQnASupport": {
"enablemarketplaceqna":"true"
}
}
Contoh: Ekstensi menonaktifkan bagian T & A
{
"CustomerQnASupport": {
"enablemarketplaceqna":"false"
}
}
Cakupan
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 | Deskripsi | Mewarisi Dari |
---|---|---|---|---|
Keamanan Tingkat Lanjut | vso.advsec |
AdvancedSecurity (baca) | Memberikan kemampuan untuk membaca pemberitahuan, instans hasil, instans hasil analisis. | |
vso.advsec_write |
AdvancedSecurity (baca dan tulis) | Memberikan kemampuan untuk mengunggah analisis dalam sarif | vso.advsec |
|
vso.advsec_manage |
AdvancedSecurity (baca, tulis, dan kelola) | Memberikan kemampuan untuk mengunggah analisis dalam sarif | vso.advsec_write |
|
Kumpulan Agen | vso.agentpools |
Kumpulan Agen (baca) | 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 (baca, kelola) | Memberikan kemampuan untuk mengelola kumpulan, antrean, dan agen. | vso.agentpools |
|
vso.environment_manage |
Lingkungan (baca, kelola) | Memberikan kemampuan untuk mengelola kumpulan, antrean, agen, dan lingkungan. | vso.agentpools_manage |
|
Analitik | vso.analytics |
Analitik (baca) | Memberikan kemampuan untuk mengkueri data analitik. | |
Audit | vso.auditlog |
Log Audit (baca) | Memberikan kemampuan untuk membaca log audit kepada pengguna. | |
vso.auditstreams_manage |
Aliran Audit (baca) | Memberikan kemampuan untuk mengelola aliran audit kepada pengguna. | vso.auditlog |
|
Build | vso.build |
Build (baca) | Memberikan kemampuan untuk mengakses artefak build, termasuk hasil build, definisi, dan permintaan, dan kemampuan untuk menerima pemberitahuan tentang peristiwa build melalui kait layanan. | vso.hooks_write |
vso.build_execute |
Bangun (baca dan jalankan) | Memberikan kemampuan untuk mengakses artefak build, termasuk hasil build, definisi, dan permintaan, dan kemampuan untuk mengantre build, memperbarui properti build, dan kemampuan untuk menerima pemberitahuan tentang peristiwa build melalui kait layanan. | vso.build |
|
Kode | vso.code |
Kode (baca) | Memberikan kemampuan untuk membaca kode sumber dan metadata tentang penerapan, set perubahan, cabang, dan artefak kontrol versi lainnya. Juga memberikan kemampuan untuk mencari kode dan mendapatkan pemberitahuan tentang peristiwa kontrol versi melalui kait layanan. | vso.hooks_write |
vso.code_write |
Kode (baca dan tulis) | Memberikan kemampuan untuk membaca, memperbarui, dan menghapus kode sumber, mengakses metadata tentang penerapan, 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) | Memberikan kemampuan untuk membaca, memperbarui, dan menghapus kode sumber, mengakses metadata tentang penerapan, set perubahan, cabang, dan artefak kontrol versi lainnya. Juga memberikan kemampuan untuk membuat dan mengelola repositori kode, membuat dan mengelola permintaan pull dan ulasan kode, dan untuk menerima pemberitahuan tentang peristiwa kontrol versi melalui kait layanan. | vso.code_write |
|
vso.code_full |
Kode (penuh) | Memberikan akses penuh ke kode sumber, metadata tentang penerapan, set perubahan, cabang, dan artefak kontrol versi lainnya. Juga memberikan kemampuan untuk membuat dan mengelola repositori kode, membuat dan mengelola permintaan pull dan ulasan kode, dan untuk menerima pemberitahuan tentang peristiwa kontrol versi melalui kait layanan. Juga termasuk dukungan terbatas untuk API OM Klien. | vso.code_manage |
|
vso.code_status |
Kode (status) | Memberikan kemampuan untuk membaca dan menulis status penerapan dan permintaan pull. | ||
Server Tersambung | vso.connected_server |
Server Tersambung | Memberikan kemampuan untuk mengakses titik akhir yang diperlukan dari server yang terhubung lokal. | |
Pemberian izin | vso.entitlements |
Pemberian Izin (Baca) | Menyediakan akses baca saja ke titik akhir pemberian hak lisensi untuk mendapatkan hak akun. | |
vso.memberentitlementmanagement |
Pengelolaan Pemberian Izin Anggota (baca) | Memberikan kemampuan untuk membaca pengguna, lisensi mereka serta proyek dan ekstensi yang dapat mereka akses. | ||
vso.memberentitlementmanagement_write |
Pengelolaan Pemberian Izin Anggota (tulis) | Memberikan kemampuan untuk mengelola pengguna, lisensi mereka serta proyek dan ekstensi yang dapat mereka akses. | vso.memberentitlementmanagement |
|
Ekstensi | vso.extension |
Ekstensi (baca) | Memberikan kemampuan untuk membaca ekstensi yang diinstal. | vso.profile |
vso.extension_manage |
Ekstensi (baca dan kelola) | Memberikan kemampuan untuk menginstal, menghapus instalan, dan melakukan tindakan administratif lainnya pada ekstensi yang diinstal. | vso.extension |
|
vso.extension.data |
Data ekstensi (baca) | 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) | Memberikan kemampuan untuk membaca dan mengelola koneksi GitHub dan data repositori GitHub | vso.githubconnections |
|
Grafik & identitas | vso.graph |
Grafik (baca) | Memberikan kemampuan untuk membaca informasi keanggotaan pengguna, grup, cakupan, dan grup. | |
vso.graph_manage |
Grafik (kelola) | 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 (baca) | Memberikan kemampuan untuk membaca identitas dan grup. | ||
vso.identity_manage |
Identitas (kelola) | Memberikan kemampuan untuk membaca, menulis, dan mengelola identitas dan grup. | vso.identity |
|
Grup Mesin | vso.machinegroup_manage |
Grup penyebaran (baca, kelola) | Menyediakan kemampuan untuk mengelola grup penyebaran dan kumpulan agen. | vso.agentpools_manage |
Marketplace | vso.gallery |
Marketplace | Memberikan akses baca ke item publik dan privat dan penerbit. | vso.profile |
vso.gallery_acquire |
Marketplace (akuisisi) | Memberikan akses baca dan kemampuan untuk memperoleh item. | vso.gallery |
|
vso.gallery_publish |
Marketplace (terbitkan) | Memberikan akses baca dan kemampuan untuk mengunggah, memperbarui, dan berbagi item. | vso.gallery |
|
vso.gallery_manage |
Marketplace (kelola) | Memberikan akses baca dan kemampuan untuk menerbitkan dan mengelola item dan penerbit. | vso.gallery_publish |
|
Pemberitahuan | vso.notification |
Pemberitahuan (baca) | 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 dan akses baca ke metadata peristiwa, termasuk nilai bidang yang dapat difilter. | vso.notification |
|
vso.notification_manage |
Pemberitahuan (kelola) | Menyediakan akses baca, tulis, dan manajemen ke langganan dan akses baca ke metadata peristiwa, 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) | Memberikan kemampuan untuk membaca umpan dan paket. | vso.profile |
vso.packaging_write |
Kemasan (baca dan tulis) | Memberikan kemampuan untuk membuat dan membaca umpan dan paket. | vso.packaging |
|
vso.packaging_manage |
Pengemasan (baca, tulis, dan kelola) | Memberikan kemampuan untuk membuat, membaca, memperbarui, dan menghapus umpan dan paket. | vso.packaging_write |
|
Sumber Daya Alur | vso.pipelineresources_use |
Sumber Daya Alur (gunakan) | 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 Alur (gunakan dan kelola) | 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_manage |
|
Proyek dan Tim | vso.project |
Proyek dan tim (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) | Memberikan kemampuan untuk membuat, membaca, memperbarui, dan menghapus proyek dan tim. | vso.project_write |
|
Rilis | vso.release |
Rilis (baca) | Memberikan kemampuan untuk membaca artefak rilis, termasuk rilis, definisi rilis, dan lingkungan rilis. | vso.profile |
vso.release_execute |
Rilis (baca, tulis, dan jalankan) | 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) | 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_manage |
|
File Aman | vso.securefiles_read |
File Aman (baca) | Memberikan kemampuan untuk membaca file aman. | |
vso.securefiles_write |
File Aman (baca, buat) | Memberikan kemampuan untuk membaca dan membuat file aman. | vso.securefiles_read |
|
vso.securefiles_manage |
File Aman (baca, buat, dan kelola) | Memberikan kemampuan untuk membaca, membuat, dan mengelola file yang aman. | vso.securefiles_write |
|
Keamanan | vso.security_manage |
Keamanan (kelola) | 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) | Memberikan kemampuan untuk membaca, mengkueri, dan mengelola titik akhir layanan. | vso.serviceendpoint_query |
|
Service Hooks | vso.hooks |
Kait layanan (baca) | Memberikan kemampuan untuk membaca langganan dan metadata hook layanan, termasuk peristiwa, konsumen, dan tindakan yang didukung. (Tidak lagi publik.) | vso.profile |
vso.hooks_write |
Kait layanan (baca dan tulis) | Memberikan kemampuan untuk membuat dan memperbarui langganan hook layanan dan membaca metadata, termasuk peristiwa, konsumen, dan tindakan yang didukung. (Tidak lagi publik.) | vso.hooks |
|
vso.hooks_interact |
Kait layanan (berinteraksi) | Memberikan kemampuan untuk berinteraksi dan melakukan tindakan pada peristiwa yang diterima melalui kait layanan. (Tidak lagi publik.) | vso.profile |
|
Pengaturan | vso.settings |
Pengaturan (baca) | Memberikan kemampuan untuk membaca pengaturan. | |
vso.settings_write |
Pengaturan (baca dan tulis) | Memberikan kemampuan untuk membuat dan membaca pengaturan. | ||
Simbol | vso.symbols |
Simbol (baca) | 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 |
|
Grup Tugas | vso.taskgroups_read |
Grup Tugas (baca) | Memberikan kemampuan untuk membaca grup tugas. | |
vso.taskgroups_write |
Grup Tugas (baca, buat) | Memberikan kemampuan untuk membaca dan membuat grup tugas. | vso.taskgroups_read |
|
vso.taskgroups_manage |
Grup Tugas (membaca, membuat, dan mengelola) | Memberikan kemampuan untuk membaca, membuat, dan mengelola grup tugas. | vso.taskgroups_write |
|
Dasbor Tim | vso.dashboards |
Dasbor tim (baca) | Memberikan kemampuan untuk membaca informasi dasbor tim. | |
vso.dashboards_manage |
Dasbor tim (kelola) | 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 |
|
Benang | vso.threads_full |
Utas PR | Memberikan kemampuan untuk membaca dan menulis untuk menarik utas komentar permintaan. | |
Token | vso.tokens |
Token Otorisasi yang Didelegasikan | Memberikan kemampuan untuk mengelola token otorisasi yang didelegasikan kepada pengguna. | |
vso.tokenadministration |
Administrasi Token | Memberikan kemampuan untuk mengelola (melihat dan mencabut) token yang ada kepada administrator organisasi. | ||
Profil Pengguna | vso.profile |
Profil pengguna (baca) | Memberikan kemampuan untuk membaca profil, akun, koleksi, proyek, tim, dan artefak organisasi tingkat atas Lainnya. | |
vso.profile_write |
Profil pengguna (tulis) | Memberikan kemampuan untuk menulis ke profil Anda. | vso.profile |
|
Grup Variabel | vso.variablegroups_read |
Grup Variabel (baca) | 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) | Memberikan kemampuan untuk membaca, membuat, dan mengelola grup variabel. | vso.variablegroups_write |
|
Wiki | vso.wiki |
Wiki (baca) | 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 (baca) | Memberikan kemampuan untuk membaca item kerja, kueri, papan, jalur area dan iterasi, dan metadata terkait pelacakan item kerja lainnya. Juga memberikan kemampuan untuk menjalankan kueri, mencari item kerja, dan menerima pemberitahuan tentang peristiwa item kerja melalui kait 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, area baca dan jalur perulangan item kerja lainnya yang melacak metadata terkait, menjalankan kueri, dan untuk menerima pemberitahuan tentang peristiwa item kerja melalui kait layanan. | vso.work |
|
vso.work_full |
Item kerja (penuh) | Memberikan akses penuh ke item kerja, kueri, backlog, paket, dan metadata pelacakan item kerja. Juga menyediakan kemampuan untuk menerima pemberitahuan tentang peristiwa item kerja melalui kait layanan. | vso.work_write |
|
Peniruan Identitas Pengguna | user_impersonation |
Peniruan Identitas Pengguna | 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:
Target 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 DevOpsMicrosoft.TeamFoundation.Server
: menginstal ke Azure DevOps ServerMicrosoft.VisualStudio.Services
: menginstal ke 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 ServicesMicrosoft.TeamFoundation.Server.Integration
: terintegrasi dengan Azure DevOps ServerMicrosoft.VisualStudio.Services.Integration
: terintegrasi dengan keduanya. Pintasan untukMicrosoft.VisualStudio.Services.Cloud.Integration
danMicrosoft.TeamFoundation.Server.Integration
Untuk informasi selengkapnya, lihat Poin 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 dengan, tetapi jangan instal ke 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"
}
]
}
Versi target penginstalan
Beberapa pengidentifikasi target penginstalan, seperti Microsoft.TeamFoundation.Server
dan Microsoft.TeamFoundation.Server.Integration
, mendukung rentang versi opsional. Rentang versi opsional ini selanjutnya mengklarifikasi rilis yang didukung, ekstensi atau integrasi didukung.
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 inklusif]
: versi maksimum inklusif(
: 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 memperlihatkan versi
Contoh: Ekstensi yang berfungsi dengan Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
},
{
"id": "Microsoft.TeamFoundation.Server",
"version": "[15.0,)"
}
]
}
Pintasan
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 tuntutan penginstalan
Target dan tuntutan penginstalan digunakan bersama-sama untuk menyajikan pengguna dengan tampilan produk/layanan yang benar yang kompatibel dengan ekstensi atau integrasi Anda. Misalnya, menentukan target Microsoft.VisualStudio.Services
penginstalan dengan permintaan api-version/3.0
berarti ekstensi berfungsi dengan Azure DevOps.
Tip
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"
]
}
Menyelesaikan ke 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"
]
}
Menyelesaikan ke target penginstalan berikut:
Microsoft.VisualStudio.Services.Cloud.Integration
Microsoft.TeamFoundation.Server.Integration
versi:[14.0,)
Permintaan
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 tentang bagaimana permintaan ditentukan dalam manifes 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 saat dipublikasikan? | Diperiksa saat penginstalan? |
---|---|---|---|
environment/cloud |
Memerlukan berjalan di lingkungan cloud | Ya | Ya |
environment/onprem |
Mengharuskan berjalan di lingkungan lokal | 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
tuntutan dievaluasi pada waktu penginstalan, dan mengharuskan ekstensi yang ditentukan sudah diinstal dan diaktifkan dalam organisasi/koleksi.
File
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 dapat relatif terhadap direktori akar Anda.
- addressable – (opsional) Atur ke true jika Anda ingin file Anda dapat diatasi URL. Default ke false.
- packagePath – (opsional) Jalur ke sumber daya dalam paket. Default ke jalur relatif pada disk dari direktori akar Anda.
- contentType – (opsional) jenis MIME file. Default ke tebakan terbaik berdasarkan ekstensi file dan pengaturan OS.
- 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. Default ke packagePath.
- bahasa lang – (opsional) Bahasa aset ini. File yang dilokalkan disajikan berdasarkan header Terima-Bahasa. 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 mereferensikan kontribusi dan jenis.
- type - ID contributionType dari kontribusi ini.
- description - (Opsional) String yang menjelaskan apa yang diberikan kontribusi.
- target - Array ID kontribusi yang ditargetkan kontribusi (berkontribusi). Lihat Menargetkan kontribusi.
- 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 mereferensikan kontribusi dan jenis.
- name - Nama yang mudah diingat 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 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. Jenis referensi type
dengan properti , dan referensikan kontribusi lain dengan targets
properti .
- Referensi kontribusi lengkap mencakup pengidentifikasi penerbit, pengidentifikasi ekstensi, dan pengidentifikasi kontribusi/jenis, dipisahkan oleh titik (.). Misalnya,
ms.vss-web.hub
adalah pengidentifikasi lengkap untuk kontribusi dengan pengidentifikasi "hub" dalam ekstensi "vss-web" yang diterbitkan oleh penerbit "ms" (Microsoft). - Referensi kontribusi relatif mungkin digunakan dalam manifes ekstensi untuk referensi kontribusi ke jenis kontribusi atau kontribusi lain dalam ekstensi yang sama. Dalam hal ini, penerbit dan pengidentifikasi ekstensi TIDAK disertakan, dan pengidentifikasi adalah titik (.) diikuti oleh pengidentifikasi kontribusi. Misalnya, ".hub" mungkin digunakan dalam ekstensi "vss-web" yang disebutkan sebelumnya sebagai pintasan untuk "ms.vss-web.hub."
Menargetkan kontribusi
Beberapa kontribusi bertindak sebagai kontainer yang ditargetkan oleh kontribusi lain.
- Kontribusi hub dapat menargetkan 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 dikumpulkan di semua kontribusi (dari salah satu jenis ini) yang menargetkan kontribusi menu tertentu.
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 manifes
Ekstensi berikut berkontribusi tindakan ke menu konteks build yang telah selesai dan hub ke grup Hub build:
{
"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"
}
}
]
}