Mengemas dan menerbitkan integrasi ke Marketplace
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Apakah Anda memiliki alat, layanan, atau produk yang terintegrasi dengan Azure DevOps atau Team Foundation Server (TFS)? Jika demikian, bantu pengguna menemukannya dengan menerbitkannya di Visual Studio Marketplace. Marketplace adalah toko serba ada bagi individu dan tim untuk menemukan alat yang memperluas dan meningkatkan pengalaman.
Telusuri Marketplace untuk melihat contoh integrasi dan ekstensi lainnya.
Catatan
Jika Anda mencari informasi pengemasan dan penerbitan untuk ekstensi, lihat Paket & Terbitkan Ekstensi.
Persyaratan penerbitan
Daftar persyaratan berikut harus dipenuhi sebelum Anda menerbitkan ke Marketplace.
- Instal alat pengemasan ekstensi (TFX). Jalankan
npm install -g tfx-cli
dari prompt perintah. - Pastikan izin yang tepat diberikan untuk menggunakan gambar apa pun, misalnya, ikon, logo, cuplikan layar, dan sebagainya.
- Sertakan file menyeluruh
overview.md
untuk menjelaskan daftar Anda di Marketplace. - Sertakan ikon untuk ekstensi Anda, yang berukuran setidaknya 128x128 piksel.
- Saat Anda merujuk ke produk Microsoft, gunakan nama lengkap sebagai pengganti singkatan, misalnya, Azure DevOps vs. AzDO atau - singkatan lainnya.
- Menahan diri dari menggunakan nama merek atas nama ekstensi Anda.
Yang Anda butuhkan
- Logo piksel 128x128 (format PNG atau JPEG) yang mewakili integrasi, diri Anda, atau perusahaan/organisasi Anda
- Minimal satu cuplikan layar yang menunjukkan integrasi Anda
- Ajakan bertindak /memulai URL (di mana pengguna harus mulai menggunakan integrasi Anda)
Langkah-langkah
Penerbitan ke Marketplace adalah proses berulang yang dimulai dengan membuat file manifes yang menentukan karakteristik integrasi dan penemuan utama Anda (seperti cuplikan layar, logo, dan konten gambaran umum). Informasi ini digunakan untuk menyajikan integrasi Anda kepada pengguna di Marketplace, misalnya:
Catatan: Istilah, extension
, digunakan dalam dokumentasi yang direferensikan di bawah ini. Ekstensi adalah jenis item Marketplace lain dan berbagi banyak kesamaan dari sudut penemuan sebagai integrasi.
Membuat penerbit
Semua ekstensi dan integrasi, termasuk ekstensi dari Microsoft, memiliki penerbit. Siapa pun dapat membuat penerbit dan menerbitkan ekstensi di bawahnya. Anda juga dapat memberi orang lain akses ke penerbit Anda jika tim mengembangkan ekstensi.
Pengguna memiliki penerbit, biasanya pengguna yang membuatnya. Anda juga dapat berbagi penerbit dengan pengguna lain.
Masuk ke Portal Penerbitan Marketplace Visual Studio.
Jika Anda belum menjadi anggota penerbit yang sudah ada, + Buat penerbit. Masukkan nama di bidang nama penerbit. Bidang ID akan secara otomatis diatur berdasarkan nama yang Anda masukkan.
Catatan
Catat ID, karena Anda perlu mengaturnya dalam file manifes ekstensi Anda.
Jika Anda tidak diminta untuk membuat penerbit, gulir ke bawah ke bagian bawah halaman dan pilih Terbitkan ekstensi di bawah Situs terkait.
- Tentukan pengidentifikasi untuk penerbit Anda, misalnya:
mycompany-myteam
. Pengidentifikasi ini digunakan sebagai nilai untukpublisher
atribut dalam file manifes ekstensi Anda. - Tentukan nama tampilan untuk penerbit Anda, misalnya:
My Team
- Tentukan pengidentifikasi untuk penerbit Anda, misalnya:
Tinjau Perjanjian Penerbit Marketplace, lalu pilih Buat.
Setelah penerbit dibuat, Anda diarahkan untuk mengelola item, tetapi tidak ada item apa pun.
Membuat folder untuk berisi manifes item Anda dan aset lainnya
Sebelum mengemas integrasi sebagai ekstensi, Anda harus membuat home
folder untuk berisi beberapa aset yang diperlukan, dalam folder ini:
- Buat folder yang dipanggil
images
untuk memuat:- Logo untuk integrasi Anda (128x128 piksel)
- Cuplikan layar (1366x768 piksel)
- Membuat file yang disebut
overview.md
- Jelaskan integrasi Anda di sini
- Untuk mempelajari selengkapnya tentang Markdown, lihat GitHub Flavored Markdown
- Membuat file yang disebut
vss-integration.json
- File ini adalah file manifes daftar Marketplace Anda, file tersebut berisi banyak properti untuk menjelaskan ekstensi Anda di daftar Marketplace Anda. Anda dapat menelusuri referensi manifes ekstensi di sini
Manifes Ekstensi
Isi file Anda
vss-integration.json
dengan JSON berikut:{ "manifestVersion": 1, "id": "myservice", "version": "1.0.0", "name": "My Service", "publisher": "mycompany", "description": "Awesome tools to help you and your team do great things everyday.", "targets": [ { "id": "Microsoft.VisualStudio.Services.Integration" } ], "icons": { "default": "images/service-logo.png" }, "categories": [ "Plan and track" ], "tags": [ "working", "people person", "search" ], "screenshots": [ { "path": "images/screen1.png" }, { "path": "images/screen2.png" } ], "content": { "details": { "path": "overview.md" }, "license": { "path": "fabrikam-license-terms.md" } }, "links": { "getstarted": { "uri": "https://www.mycompany.com/help/getstarted" }, "learn": { "uri": "https://www.mycompany.com/features" }, "support": { "uri": "https://www.mycompany.com/support" } }, "branding": { "color": "rgb(34, 34, 34)", "theme": "dark" } }
Perbarui JSON menggunakan referensi berikut:
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) |
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. |
Screenshot | 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. |
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. 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. |
Halaman detail
- 1 - deskripsi
- 2 - ikon
- 3 - kategori
- 4 - cuplikan layar
- 5 - konten (detail)
- 6 - tautan
- 7 - branding
Mengemas manifes dan aset Anda
Dapatkan alat paket (tfx-cli)
Anda dapat menginstal atau memperbarui CLI Lintas platform untuk Azure DevOps (tfx-cli) menggunakan npm
, komponen Node.js, dari baris perintah Anda.
npm i -g tfx-cli
Mengemas integrasi Anda dalam file .vsix
tfx extension create --manifest-globs vss-extension.json
Catatan
Versi ekstensi/integrasi harus ditahapkan pada setiap pembaruan.
Jika Anda belum menaikkan ekstensi/integrasi dalam manifes, Anda harus meneruskan sakelar --rev-version
baris perintah. Ini akan menaikkan nomor versi patch ekstensi Anda dan menyimpan versi baru ke manifes Anda.
Menerbitkan integrasi Anda ke Marketplace
Setelah ekstensi dikemas, Anda dapat mengunggahnya ke Marketplace di bawah penerbit. Pengidentifikasi publisher
yang ditentukan dalam file manifes ekstensi Anda harus cocok dengan pengidentifikasi penerbit tempat ekstensi diunggah.
Dari portal manajemen, pilih penerbit Anda dari menu drop-down di bagian atas halaman.
Pilih Ekstensi>baru Azure DevOps.
Seret dan letakkan file Anda atau pilih untuk menemukan file VSIX Anda, yang Anda buat di langkah kemasan sebelumnya, lalu pilih Unggah.
Setelah validasi cepat, ekstensi Anda muncul dalam daftar ekstensi yang diterbitkan. Jangan khawatir, ekstensi hanya terlihat oleh Anda.
Pada titik ini, ekstensi Anda tidak terlihat oleh akun apa pun dan tidak dapat diinstal hingga Anda membagikannya.
Catatan
Microsoft menjalankan pemindaian virus pada setiap paket ekstensi baru dan yang diperbarui yang diterbitkan. Sampai pemindaian semuanya jelas, kami tidak menerbitkan ekstensi di Marketplace untuk penggunaan publik. Dengan cara ini kami juga menghindari memunculkan konten yang tidak pantas atau menyinggung di halaman Marketplace.
Bagikan integrasi Anda
Sebelum dapat menginstal integrasi ke organisasi di Azure DevOps atau TFS, Anda harus membagikannya dengan organisasi tersebut. Berbagi adalah persyaratan selama pengembangan dan pengujian integrasi, karena ini adalah satu-satunya cara untuk menjalankan integrasi.
Untuk berbagi integrasi, lakukan tugas berikut:
- Pilih integrasi dari daftar item yang ditampilkan
- Pilih tombol Bagikan
- Tentukan nama organisasi untuk membuat integrasi ini terlihat.
- Misalnya, untuk membuat integrasi terlihat oleh organisasi dev.azure.com/fabrikam-fiber-inc , tentukan
fabrikam-fiber-inc
.
- Misalnya, untuk membuat integrasi terlihat oleh organisasi dev.azure.com/fabrikam-fiber-inc , tentukan
Memperbarui item
Untuk mengubah ekstensi yang sudah diterbitkan, perbarui ekstensi tersebut.
Tip
Sebaiknya perbarui ekstensi melalui penghapusan dan pengunggahan ulang. Kami juga menyarankan memiliki dua ekstensi, misalnya, publisher.extension
dan publisher.extension-dev
.
Publisher.extension
bersifat publik di Marketplace, di mana pelanggan dapat menginstalnya di organisasi Azure DevOps mereka. Publisher.extension-dev
disimpan secara privat di Marketplace dan dapat dibagikan dengan organisasi yang Anda miliki dan kontrol.
Anda tidak perlu mempertahankan dua salinan kode sumber ekstensi. Anda dapat mempertahankan dua file manifes - satu untuk setiap ekstensi dan selama pengemasan ekstensi, Anda dapat menyediakan file manifes masing-masing ke alat tfx-cli. Untuk informasi selengkapnya tentang argumen yang diperlukan untuk alat ini, lihat perintah ekstensi TFX.
- Pilih ekstensi dari daftar item yang ditampilkan.
- Klik kanan dan pilih Perbarui untuk
publisher.extension-dev
, misalnya. - Validasi ekstensi Anda.
- Buat pembaruan yang sama untuk versi produksi,
publisher.extension
, misalnya. - Telusuri ke .vsix untuk ekstensi Anda dan unggah.
Versi ekstensi Anda yang diperbarui secara otomatis diinstal ke akun yang sudah diinstal. Akun baru tempat ekstensi diinstal di masa mendatang juga menerima versi terbaru.
Membuat integrasi Anda publik (terlihat oleh semua orang)
Untuk informasi tentang membuat integrasi Anda publik, kunjungi Membuat daftar Anda publik.