次の方法で共有


パッケージ化と公開の拡張機能

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

拡張機能を開発したらVisual Studio Marketplace にパッケージ化して発行できます。 Marketplace は、Microsoft のプライベートおよびパブリック拡張機能、統合、およびその他のオファーのグローバル リポジトリです。

Note

拡張機能のマニフェスト ファイルで使用できる探索プロパティの詳細については、ユーザーが拡張機能を検出して学習するのに役立つ、 Extension マニフェスト リファレンスを参照してください。

前提条件

Marketplace に発行する前に、次の要件の一覧を満たす必要があります。

  • 拡張機能パッケージ ツール (TFX) をインストールします。 コマンド プロンプトから npm install -g tfx-cli を実行します。
  • アイコン、ロゴ、スクリーンショットなどの画像を使用するための適切なアクセス許可が付与されていることを確認します。
  • Marketplace に登録情報を記述するために、完全な overview.md ファイルを含めます。
  • 拡張機能のアイコンを含めます。サイズは 128 x 128 ピクセル以上です。
  • Microsoft 製品を参照する場合は、Azure DevOps や AzDO などの省略形の代わりに完全な名前を使用します。その他の省略形も使用します。
  • 拡張機能の名前にブランド名を使用しないようにします。

発行元の作成

Microsoft の拡張機能を含むすべての拡張機能と統合には、パブリッシャーがいます。 誰でもパブリッシャーを作成し、その下に拡張機能を発行できます。 また、チームが拡張機能を開発している場合は、他のユーザーにパブリッシャーへのアクセス権を付与することもできます。

ユーザーはパブリッシャー (通常は発行元を作成したユーザー) を所有します。 パブリッシャーを他のユーザーと共有することもできます。

  1. Visual Studio Marketplace 発行ポータルにサインインします。

  2. 既存のパブリッシャーのメンバーでない場合は、 + パブリッシャーを作成します。 [発行元名] フィールドに名前を入力します。 ID フィールドは、入力した名前に基づいて自動的に設定されます。

    強調表示されたボタン [Create publisher]\(パブリッシャーの作成\) を示すスクリーンショット。

    Note

    拡張機能のマニフェスト ファイルで設定する必要があるため、ID をメモしておきます。

    発行元の作成を求めるメッセージが表示されない場合は、ページの下部まで下にスクロールし、[関連サイト] の下にある [公開拡張機能選択します

    • 発行元の識別子を指定します (例: mycompany-myteam)。 この識別子は、拡張機能マニフェスト ファイルの publisher 属性の値として使用されます。
    • 次のように、発行元の表示名を指定します。 My Team
  3. Marketplace パブリッシャー契約を確認し、Create を選択します。

    拡張機能の発行元を作成する

発行元が作成されると、アイテムを管理するように指示されますが、項目はありません。

拡張機能をパッケージ化する

拡張機能をアップロードするには、VSIX 2.0 と互換性のある .vsix ファイルとしてパッケージ化する必要があります。 Microsoft では、拡張機能をパッケージ化して発行するためのクロスプラットフォーム コマンド ライン インターフェイス (CLI) を提供しています。

  1. 拡張マニフェスト ファイル (vss-extension.json) を開き、 publisher フィールドの値を発行元の ID に設定します。 次に例を示します。

    {
        ...
        "id": "my-first-extension",
        "publisher": "AnnetteNielsen",
        ...
    }
    
  2. コマンド プロンプトから、拡張機能ディレクトリから TFX ツールのパッケージ化コマンドを実行します。

    npx tfx-cli extension create
    

    拡張機能が正常にパッケージ化されたことを示すメッセージが表示されます。

    === Completed operation: create extension ===
    - VSIX: C:\my-first-extension\AnnetteNielsen.my-first-extension-1.0.0.vsix
    - Extension ID: my-first-extension
    - Extension Version: 1.0.0
    - Publisher: AnnetteNielsen
    

Note

拡張機能/統合のバージョンは、更新するたびにインクリメントする必要があります。
マニフェストで拡張機能/統合をインクリメントしていない場合は、 --rev-version コマンド ライン スイッチを渡す必要があります。 これにより、拡張機能の patch バージョン番号がインクリメントされ、新しいバージョンがマニフェストに保存されます。

パッケージ のサイズを確認する

パッケージ化された vsix のサイズを確認します。 50 MB を超える場合は、最適化する必要があります。 これを行うには、次の考慮事項を参照してください。

  • 共通の依存関係 (ある場合) を拡張パッケージに 1 回指定して重複除去します。
  • パッケージ内で提供するのではなく、実行時またはインストール時にフェッチします。 実行時にツールの依存関係をプルするには、ツール インストーラー ライブラリを使用することを検討してください。 lib を使用すると、ツールがバージョン別にキャッシュされるという利点があるため、プライベート エージェントの場合、すべてのビルドがダウンロードされるわけではありません。 ツール インストーラー タスクの外部で使用できるように、ライブラリにしました。 ただし、タスクは切断されたシナリオ (インターネットなし) では機能しません。これは、タスクの説明/ドキュメントに含まれている必要があります。
  • 一部のユーザーは、タスクの依存関係を揺るがすツリーへの WebPack の成功を持っています。

拡張機能の公開

拡張機能がパッケージ化されたら、パブリッシャーの下の Marketplace にアップロードできます。 extension のマニフェスト ファイルで指定されたpublisher識別子拡張機能がアップロードされる発行元の識別子と一致している必要があります。

  1. 管理ポータルからページの上部にあるドロップダウン メニューから発行元を選択します。

  2. 新しい拡張機能>Azure DevOps を選択します。

    [新しい拡張機能] ドロップダウン メニューと [Azure DevOps] の選択が強調表示されているスクリーンショット。

  3. ファイルをドラッグ アンド ドロップするか、選択して、前のパッケージ化手順で作成した VSIX ファイルを見つけて、[ アップロードを選択します。

    Azure DevOps の新しい拡張機能のアップロードを示すスクリーンショット。

    クイック検証の後、公開されている拡張機能の一覧に拡張機能が表示されます。 心配しないでください。拡張機能はユーザーにのみ表示されます。

    公開された拡張機能の一覧に拡張機能を示すスクリーンショット。

この時点で、拡張機能はどのアカウントにも表示されず、共有するまでインストールできません。

Note

Microsoft は、公開された新規および更新された拡張機能パッケージごとにウイルス スキャンを実行します。 スキャンがすべてクリアされるまで、一般向けの拡張機能は Marketplace に公開されません。 これにより、Marketplace ページに不適切なコンテンツや不快なコンテンツが表示されるのを防ぐことができます。

拡張機能を共有する

Azure DevOps にインストールする前に、拡張機能を組織と共有する必要があります。 拡張機能を共有するには、次のタスクを実行します。

  1. Marketplace 管理ポータルから一覧から拡張機能を選択し、右クリックして、拡張機能に応じて Share/Unshare または Publish/Unpublish を選択します。

    メニューの選択、[共有]、[共有解除] のスクリーンショット。

  2. Organization を選択し、組織の名前を入力します。 [Enter] を選択します。

    Enter ボタンのスクリーンショット。

  3. パネルを閉じます。

拡張機能をこの組織にインストールできるようになりました。

拡張機能をインストールする

共有拡張機能をインストールするには、次の手順を実行します。

  1. Marketplace で拡張機能を選択し、概要ページを開きます。

    [概要] ページのスクリーンショット。

    Note

    拡張機能はプライベートであるため、自分と共有している組織のメンバーのみがこのページを表示できます。

  2. [無料 を選択して インストール プロセスを開始します。 ドロップダウン メニューから拡張機能を共有した組織を選択します。

    拡張機能のインストール ダイアログを示すスクリーンショット。

  3. [インストール] を選択します。

おめでとうございます。 拡張機能を組織にインストールし、試す準備ができました。

拡張機能を試す

  1. インストール ウィザードの最後で Proceed to organization を選択して、拡張機能がインストールされた組織のホーム ページ (https://dev.azure.com/{organization}) に移動します。

  2. ブラウザーを更新します。

  3. Organization 設定を開き、Extensions を選択します。

    [組織の設定] の [拡張機能] ページのスクリーンショット。

Installed タブに新しい拡張機能が表示されます。

拡張機能をデバッグする

Visual Studio またはブラウザー開発者ツールを使用して拡張機能をデバッグするには、 baseUri プロパティを追加してマニフェストを変更します。 このアクションにより、ソース コードを変更するたびに拡張機能を再デプロイする必要なく、開発が高速化されます。

{
    ...
    "baseUri": "https://localhost:44300",
    ...
}

マニフェストを変更すると、ローカル Web サーバー インスタンスから拡張機能が読み込まれます。 たとえば、Visual Studio の IISExpress です。 マニフェストを変更した後、このデバッグ拡張機能を 1 回だけデプロイしてインストールします。

Note

Azure DevOps では Web ページがセキュリティで保護されたソースから提供されることを要求するため、ローカル Web サーバーを SSL モードで実行します。 それ以外の場合は、拡張機能 IFRAME の読み込み中にブラウザー コンソールでエラーが発生します。

拡張機能を更新する

既に公開されている拡張機能を変更するには、拡張機能を更新します。

ヒント

削除と再アップロードよりも拡張機能を更新することをお勧めします。 publisher.extensionpublisher.extension-devなど、2 つの拡張機能も用意することをお勧めします。 Publisher.extension は Marketplace で公開されており、お客様は Azure DevOps 組織にインストールできます。 Publisher.extension-dev は Marketplace で非公開に保持され、自分が所有および管理する組織と共有できます。 拡張機能のソース コードのコピーを 2 つ保持する必要はありません。 2 つのマニフェスト ファイルを保持できます。拡張機能ごとに 1 つ、拡張機能のパッケージ化中に、それぞれのマニフェスト ファイルを tfx-cli ツールに提供できます。 ツールに必要な引数の詳細については、「 TFX 拡張コマンドを参照してください。

  1. 表示される項目の一覧から拡張機能を選択します。
  2. たとえば、publisher.extension-devUpdateを右クリックして選択します。
  3. 拡張機能を検証します。
  4. たとえば、運用環境のバージョン ( publisher.extension) に対して同じ更新を行います。
  5. 拡張機能の .vsix を参照してアップロードします。

拡張機能の更新されたバージョンは、既にインストールされているアカウントに自動的にインストールされます。 拡張機能が今後インストールされる新しいアカウントも、最新バージョンを受け取ります。

拡張機能をパブリックにする

Marketplace の拡張機能または統合を開発するときは、プライベートのままにします。 拡張機能をパブリックに使用できるようにするには、マニフェストで public フラグtrue に設定します。

適格性

Marketplace に公開登録するには、統合または拡張機能が次の条件を満たしている必要があります。

  • Azure DevOps を使用または拡張します。
  • お客様または貴社は、統合または拡張機能の配布とアドバタイズを行うライセンスを所有し、開発し、ライセンスを取得しています。
  • 拡張機能または統合はアクティブに維持されます。

また、Microsoft はデモを要求し、Marketplace エントリ用に計画されているコンテンツを確認する場合もあります。

トップ パブリッシャー

トップ パブリッシャー プログラムは、Azure DevOps 拡張機能または統合を使用するパブリッシャーでのみ使用できます。 Visual Studio IDE および Visual Studio Code 拡張機能の発行元には適用されません。

トップ パブリッシャー バッジのスクリーンショット。

トップ パブリッシャー プログラムは、模範的なポリシー、品質、信頼性、サポートを通じて、顧客と Marketplace に対するコミットメントを持つパブリッシャーを認識します。 トップ パブリッシャーになると、すべてのパブリック オファリングにトップ パブリッシャー バッジが表示されます。

パブリッシャーの上位要件

Marketplace のトップ パブリッシャー プログラムは、Azure DevOps 拡張機能と統合を自信を持って評価または取得できるように設計されています。 トップ パブリッシャー バッジは、発行元が模範的なポリシー、品質、信頼性、サポートを通じて顧客と Marketplace へのコミットメントを示していることを意味します。 これは、1 つ以上のグローバル Azure DevOps 拡張機能または統合を持つパブリッシャー向けであり、Visual Studio IDE および Visual Studio Code 拡張機能の発行元には適用されません。

Marketplace では、次のパラメーターでパブリッシャーを慎重に確認した後、バッジがパブリッシャーに割り当てられます。

  • プライバシー ポリシー
  • ライセンス ポリシー
  • サポート ポリシー
  • ドキュメント
  • Q と応答性
  • オファリングの評価とレビュー
  • アクティブな取り込みとオファリングのインストール数
  • パブリッシャーから少なくとも 1 つのパブリック Azure DevOps 拡張機能を管理します。
  • パブリック拡張機能には 5,000 を超えるインストールが必要であり、アクティブなインストール数は 1,000 を超えています。

トップ パブリッシャーから拡張機能を入手すると、タイムリーなサポートと全体的なエクスペリエンスが期待できます。 トップ パブリッシャーのオファリングを確認します。

オファリングにポリシーを追加する方法の詳細については、 extension マニフェストを参照してください。

  1. 発行元プロファイルを更新します。

    パブリッシャー プロファイルを使用すると、すべてのオファリングを 1 か所で、主な発行元関連情報と共に紹介できます。 プロファイルに表示される情報を指定するには、次の手順を実行します。

    a. Visual Studio Marketplace でオファリングを発行および管理するアカウントを使用して、 https://marketplace.visualstudio.com/manage/publishers にサインインします。

    b. 発行元を選択し、Details タブの About you セクションに入力します。Microsoft パブリッシャー向けのセクションのスクリーンショット。 c。 変更を保存し、 表示プロファイル を選択して、コンシューマーにどのように表示されるかを確認します。 このプロファイル ページを使用して、オファリングを伝道できます。

Note

このプログラムを通じて、認定を受けているのは発行元です。 これは、拡張機能と統合のソフトウェアやセキュリティには対応していません。 発行元からのオファリングを評価するときは安全な情報に注意することをお勧めします。

トップ パブリッシャーから拡張機能を入手し、エクスペリエンスに満足できない場合は、最初にパブリッシャーと連携することを検討してください。

トップ パブリッシャーに適用する

  1. Marketplace でオファリングを発行および管理するアカウントを使用して https://marketplace.visualstudio.com/manage/publishers にサインインします
  2. パブリッシャーを選択し、その Top Publisher タブに移動します。注: タブを表示するには、1 つ以上のグローバル Azure DevOps (サーバー/サービス) 拡張機能または統合が必要です。
  3. 前述の要件の一部を満たし、発行元の所有者である場合は、プログラムに申請するオプションが表示されます。 アプリケーションでは、ケースを確認するために Marketplace チームに電子メールが送信されます。 10 営業日以内に次の手順で回答し、質問を明確にするか、バッジを付与します。

チームは、バッジを付与する前に、オファリングのアクティブな取り込み、インストール/開始回数、オファリング全体の評価とレビューなど、他のパラメーターを確認する可能性があります。 Microsoft は、トップ パブリッシャー バッジをいつでも許可、拒否、または取り消す権利を留保します。

パブリッシャーがトップ パブリッシャーになったら、今後のすべての更新プログラムとオファリングが、前述の要件を満たす必要があります。

Marketplace 拡張機能のレビューに応答する

Visual Studio Marketplace で拡張機能に対して顧客が残したレビューに応答できます。 所有者、作成者、共同作成者のいずれかのアクセス許可がある場合はレビューの横にある Reply を見つけて選択します。

応答は 1 つだけ残すことができます。 レビューをサポート フォーラムとして使用しないでください。 詳細が必要な場合は、校閲者が連絡するためのサポート エイリアスを指定してください。 その後、問題を外部で解決し、解決策を使用して返信を更新できます。

発行元の応答のガイドライン

Visual Studio Marketplace は、お客様が拡張機能を見つけ、試し、インストールし、確認するのに役立つ、オープンで招待的で、敬意を払い、役立つ場所のままにします。 コミュニケーションは、健全なコミュニティを維持する上で重要な役割を果たします。 この環境の作成に役立つ、顧客レビューに応答する発行元向けのガイドラインを次に示します。 顧客との対話について深く考え、Marketplace が作成しようとしているカスタマー エクスペリエンスの精神を振り返ります。

  • レビューは、顧客のコメント用に予約されています。 Replyを使用してレビューに返信する必要があります。
  • レビューは顧客の意見を共有するため、 すべての意見が有効です。 お客様は自分の意見を受け取る権利があるため、議論、批判、または議論なしで、コメントをフィードバックとして尊重して扱います。
  • 回答が価値を高め、顧客のコメントに関連していることを確認します。
  • 質問や問題に正確に対処することに重点を置きます。 詳細が必要な場合は、顧客にメールで連絡するように依頼し、レビューで話し合います。 問題を解決したら、解決策を使用して返信を更新します。 顧客がレビューを編集できるのと同じように、返信を編集できます。
  • スパム、虐待的、不快なコンテンツなどの不適切なレビューに遭遇した場合は、レビューにフラグを付けます。

レビューを無効にする要求

発行元は、報告された問題が Marketplace または基になるプラットフォームが原因である場合は、レビューを無効にするよう訴えることができます。 問題が有効な場合、Marketplace 管理者は評価を無効にします。 拡張機能ハブ ページの評価とレビュー セクションからappeal をできます。

拡張機能の発行を取り消す

無料の拡張機能を Marketplace で提供しなくなった場合は、発行を取り消すことができます。

次のシナリオでは、Marketplace から拡張機能を削除する場合について説明します。

  • 別の拡張機能を開発し、現在の拡張機能を提供する必要がなくなりました。
  • 拡張機能に問題があるため、問題を解決するまで Marketplace から拡張機能を削除する必要があります。
  • 間違って拡張機能をパブリックとして公開しました。

拡張機能を非公開または削除するには、特定の条件を満たす必要があります。

アクション 要件
発行の取り消し 無料の拡張機能のみは発行されない可能性があります。
削除 拡張機能を削除するには、 zero (0) インストールが必要です。

重要

法的またはセキュリティ上の問題が原因で拡張機能を削除する必要がある場合は、開発者コミュニティの Customer サポートにお問い合わせください。 要求を確認し、拡張機能を手動で削除します。

  1. publisher ページで拡張機能を選択しメニューの Unpublish を選択します。

    拡張機能は Marketplace から直ちに非公開になり、新しいユーザーはそれをインストールできません。 拡張機能の評価とレビューはそのまま残ります。

Marketplace で拡張機能をもう一度提供するには、メニューの [ Publish を選択します。

また、拡張機能にゼロ (0) のインストールがある場合は、Marketplace から拡張機能を完全に削除することもできます。 これを行うには、メニューの Remove を選択します。 この削除操作は元に戻すことができません。