Bagikan melalui


Referensi daftar 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.

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 berikut 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 BoardsAzure Pipelines, Azure Test Plans, dan Azure Artifacts.

Catatan:
    - Gunakan versi >=0.6.3 dari tfx-cli jika Anda menerbitkan ekstensi secara terprogram.
    - 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 managementtask 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

kartu

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:

perubahan cakupan

Administrator kemudian dapat meninjau dan mengotorisasi serangkaian cakupan baru:

dialog perubahan lingkup

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 untuk Microsoft.VisualStudio.Services.Cloud dan Microsoft.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 untuk Microsoft.VisualStudio.Services.Cloud.Integration dan Microsoft.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:

  1. Microsoft.VisualStudio.Services.Cloud
  2. 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:

  1. Microsoft.VisualStudio.Services.Cloud.Integration
  2. 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 dan environment/onprem hanya ketika ekstensi Anda memiliki persyaratan terkait topologi yang memerlukan berjalan di lingkungan tertentu.
  • extension, contribution, dan contributionType 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 identifikasi hub dalam ekstensi vss-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 ekstensi vss-web yang disebutkan sebelumnya sebagai pintasan untuk ms.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"
            }
        }
    ]
}