Bagikan melalui


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

  1. Logo piksel 128x128 (format PNG atau JPEG) yang mewakili integrasi, diri Anda, atau perusahaan/organisasi Anda
  2. Minimal satu cuplikan layar yang menunjukkan integrasi Anda
  3. 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:

contoh

Jenkins untuk Azure DevOps

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.

Perlu bantuan untuk mendapatkan integrasi Anda di Marketplace? Hubungi kami. Dan, ya, alamat email ini dipantau oleh orang-orang nyata.

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.

  1. Masuk ke Portal Penerbitan Marketplace Visual Studio.

  2. 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.

    Cuplikan layar memperlihatkan tombol yang disorot, Buat penerbit.

    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 untuk publisher atribut dalam file manifes ekstensi Anda.
    • Tentukan nama tampilan untuk penerbit Anda, misalnya: My Team
  3. Tinjau Perjanjian Penerbit Marketplace, lalu pilih Buat.

    Membuat penerbit untuk ekstensi

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:

  1. Buat folder yang dipanggil images untuk memuat:
    • Logo untuk integrasi Anda (128x128 piksel)
    • Cuplikan layar (1366x768 piksel)
  2. Membuat file yang disebut overview.md
  3. 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

  1. 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"
        }
    }
    
  2. Perbarui JSON menggunakan referensi berikut:

Properti ini 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 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 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 pelanggan TFS memperoleh ekstensi Anda melalui Visual Studio Marketplace (bukan galeri lokal) dalam konteks terhubung, maka gunakan kategori yang sebelumnya dinyatakan.
      - 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 managementtask 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

card

Pastikan atribut "publik" diatur ke "false" (atau tidak diatur sama sekali) untuk menghindari ekstensi atau integrasi Anda agar tidak terlihat secara prematur oleh semua pengguna di Marketplace.

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.

  1. Dari portal manajemen, pilih penerbit Anda dari menu drop-down di bagian atas halaman.

  2. Pilih Ekstensi>baru Azure DevOps.

    Cuplikan layar memperlihatkan menu dropdown Ekstensi baru dan pilihan Azure DevOps yang disorot.

  3. Seret dan letakkan file Anda atau pilih untuk menemukan file VSIX Anda, yang Anda buat di langkah kemasan sebelumnya, lalu pilih Unggah.

    Cuplikan layar memperlihatkan Unggah ekstensi baru untuk Azure DevOps.

    Setelah validasi cepat, ekstensi Anda muncul dalam daftar ekstensi yang diterbitkan. Jangan khawatir, ekstensi hanya terlihat oleh Anda.

    Cuplikan layar memperlihatkan ekstensi dalam daftar ekstensi yang diterbitkan.

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:

  1. Pilih integrasi dari daftar item yang ditampilkan
  2. Pilih tombol Bagikan
  3. 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.

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.

  1. Pilih ekstensi dari daftar item yang ditampilkan.
  2. Klik kanan dan pilih Perbarui untuk publisher.extension-dev, misalnya.
  3. Validasi ekstensi Anda.
  4. Buat pembaruan yang sama untuk versi produksi, publisher.extension, misalnya.
  5. 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.