Azure DevOps Services |Azure DevOps Server 2022 および Azure DevOps Server 2019
この記事では、Visual Studio Marketplace で Azure DevOps と統合されたツール、サービス、または製品を発行する方法について説明します。 Marketplace に公開すると、ユーザーは Azure DevOps エクスペリエンスを拡張および強化するソリューションを見つけることができます。 Marketplace は、個人やチームが統合と拡張機能を見つけるための中心的なハブとして機能します。
Marketplace を参照 して、他の統合と拡張機能の例を確認します。
注
拡張機能のパッケージ化と発行の情報については、「 パッケージ化と拡張機能の発行」を参照してください。
[前提条件]
Marketplace に発行する前に、次の要件の一覧を満たす必要があります。
カテゴリ | 要求事項 |
---|---|
パッケージ化ツール | 拡張機能パッケージ ツール (TFX) をインストールします。 コマンド プロンプトから npm install -g tfx-cli を実行します。 |
イメージのアクセス許可 | アイコン、ロゴ、スクリーンショットなどの画像を使用するための適切なアクセス許可があることを確認します。 |
Marketplace の概要 | 詳細なoverview.md ファイルを含めて、Marketplace に登録情報を記述してください。 |
拡張機能アイコン | 統合、会社、または組織を表す拡張機能のアイコン (サイズが 128 x 128 ピクセル (PNG または JPEG) 以上) を含めます。 |
Microsoft 製品名 | Microsoft 製品のフル ネーム (AzDO やその他の省略形ではなく Azure DevOps など) を使用します。 |
ブランド名 | 拡張機能の名前にはブランド名を使用しないでください。 |
必要な資産を収集する
- 統合の少なくとも 1 つのスクリーンショット。
- ユーザーの行動喚起または開始 URL。
注
-
extension
という用語は、参照されるドキュメントで使用されます。 拡張機能は別の種類の Marketplace アイテムであり、統合と多くの類似点を共有します。 - Marketplace での統合に関するヘルプが必要ですか? お問い合わせください。
パブリッシャー アカウントを作成する
Microsoft からの拡張機能や統合を含め、すべての拡張機能または統合には発行元が必要です。 誰でもパブリッシャーを作成し、その下に拡張機能を発行できます。 また、開発チームなどの他のユーザーとパブリッシャー アクセスを共有することもできます。
Visual Studio Marketplace 発行ポータルにサインインします。
既存のパブリッシャーの一部でない場合は、[ + 発行元の作成] を選択します。
発行元名を入力します。ID フィールドは、入力に基づいて自動入力されます。注
- 発行元名がマルチバイト文字の場合は 16 文字以内であることを確認します。
- 発行元 ID を保存します。これは拡張機能のマニフェスト ファイルに必要です。
発行元の作成を求めるメッセージが表示されない場合は、[関連サイト] の下の [拡張機能の発行] までスクロールします。
-
mycompany-myteam
など、一意の発行元識別子を設定します。 マニフェストのpublisher
属性にこの値を使用します。 -
My Team
などの表示名を設定します。
Marketplace パブリッシャー契約を確認し、[作成] を選択します。
発行元を作成した後は、アイテムを管理できますが、発行するまでアイテムは表示されません。
マニフェストとアセットを整理する
マニフェストと資産を整理するには、次の手順を実行します。
- 必要な資産を格納する
home
フォルダーを作成します。 - 次の
images
フォルダーを作成します。- 統合ロゴ (128 x 128 ピクセル)
- スクリーンショット (1366 x 768 ピクセル)
- 統合を記述する
overview.md
ファイルを作成します。 詳細については、 GitHub Flavored Markdown を参照してください。 - marketplace 登録情報のマニフェスト ファイルである
vss-integration.json
ファイルを作成します。 詳細については、 拡張機能マニフェストリファレンスを参照してください。
拡張機能マニフェストを完成する
Marketplace への発行は、統合とその主要な検出の詳細 (スクリーンショット、ロゴ、概要コンテンツ) を定義するマニフェスト ファイルの作成から始まります。 この情報は、Marketplace 上のユーザーに統合を提示するために使用されます。
vss-integration.json
ファイルに次の JSON を入力します。{ "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" } }
次の参照を使用して JSON を更新します。
プロパティ | 説明 | 注記 |
---|---|---|
manifestVersion の処理を行う | マニフェスト形式のバージョンに対応する数値。 |
1 でなければなりません。 |
身分証明書 | 拡張機能の識別子。 | ID は、同じ発行元の拡張機能間で一意である必要がある文字列です。 アルファベットまたは数字で始まり、'A' から 'Z'、'a' から 'z'、'0' から '9'、および '-' (ハイフン) を含める必要があります。 例: sample-extension 。 |
バージョン | 拡張機能のバージョンを指定する文字列。 |
major.minor.patch や0.1.2 など、1.0.0 の形式にする必要があります。 次の形式の 4 番目の数値を追加することもできます。 0.1.2.3 |
名前 | 人間が判読できる拡張機能の短い名前。 200 文字に制限されます。 | 例: "Fabrikam Agile Board Extension" 。 |
発行者 | 発行元の識別子。 | この識別子は、拡張機能が公開されている識別子と一致する必要があります。 パブリッシャーの作成と管理に関するページを参照してください。 |
カテゴリ | 拡張機能が属するカテゴリを表す文字列の配列。 少なくとも 1 つのカテゴリを指定する必要があり、含めるカテゴリの数に制限はありません。 | 有効な値: Azure Repos 、 Azure Boards 、 Azure Pipelines 、 Azure Test Plans 、および Azure Artifacts 。注記:
- Azure DevOps 拡張機能タスク拡張機能 を使用して発行する場合は、そのバージョンが >= 1.2.8 であることを確認します。 最近のスコープの変更により、拡張機能の更新を承認しなければならない場合があります。 - 前述のカテゴリは、前述の Visual Studio Marketplace と Azure DevOps Server 2019 にネイティブに存在します。 |
ターゲット | 統合または拡張機能でサポートされている製品とサービス。 詳細については、 インストール ターゲットを参照してください。 | オブジェクトの配列。各オブジェクトには、次のいずれかを示す id フィールドがあります。
Microsoft.VisualStudio.Services (Azure DevOps で動作する拡張機能)、- Microsoft.TeamFoundation.Server (Azure DevOps Server で動作する拡張機能)、- Microsoft.VisualStudio.Services.Integration 、 - Microsoft.TeamFoundation.Server.Integration (Azure DevOps Server と連携する統合) |
次の省略可能なプロパティは、ユーザーが拡張機能を検出して学習するのに役立ちます。
プロパティ | 説明 | 注記 |
---|---|---|
説明 | 拡張機能を説明するいくつかの文。 200 文字に制限されます。 | 説明は、拡張機能の "エレベーター ピッチ" である必要があります。これは、Marketplace で拡張機能を説明し、ユーザーがそれをインストールすることを望むいくつかの行です。 以下の の例を参照する |
アイコン | 拡張機能を表すアイコンのディクショナリ。 | 有効なキー: BMP、GIF、EXIF、JPG、PNG、TIFF 型の default (128 x 128 ピクセル)。 今後、 large (512 x 512 ピクセル) などの他のキーがサポートされる可能性があります。 各キーの値は、拡張機能内のアイコン ファイルへのパスです |
タグ | ユーザーが拡張機能を見つけるのに役立つ文字列タグの配列。 | 例: agile 、 project management 、 task timer など。 |
スクリーンショット | コンテンツに含められなかった画像の配列。 |
スクリーンショットはコンテンツで取り上げられるほど価値が高く、拡張機能の質の高い市場の詳細ページを作成するために使用する必要があります。
コンテンツに含まれていない重要度の低い画像には、スクリーンショットを使用します。 各イメージは 1366 x 768 ピクセルである必要があります。 各項目の path は、拡張子内のファイルへのパスです。 |
コンテンツ | ユーザーに対する拡張機能を記述するコンテンツ ファイルのディクショナリ。 |
すべての 拡張機能には、ソリッド コンテンツが含まれている必要があります。 これは、拡張機能で実行できることをユーザーに表示する方法です。 リッチさと使いやすさを高め、必要に応じてスクリーンショットを含めます。 基本コンテンツ部分として overview.md ファイルを含めます。 各ファイルは、 GitHub Flavored Markdown 形式であると見なされます。 各項目の path は、拡張機能の Markdown ファイルへのパスです。 有効なキー: details 。 その他のキーは、今後サポートされる可能性があります。 |
リンク | ユーザーが拡張機能の詳細を知り、サポートを受け、移動するのに役立つリンクの辞書。 | 有効なキー: getstarted - 最初の手順、セットアップまたは使用方法。
learn - ユーザーが拡張機能やサービスをより深く理解するのに役立つより深いコンテンツ。
license - エンドユーザーライセンス契約。
privacypolicy - 拡張機能のプライバシー ポリシー。
support - 拡張機能のヘルプとサポートを受ける。 各キーの値は、リンクの絶対 URL である uri フィールドを持つオブジェクトです |
リポジトリ | 拡張機能のソース コード リポジトリを記述するプロパティのディクショナリ | 有効なキー: type - リポジトリの種類。 例: git。
uri - リポジトリの絶対 URL。 |
バッジ | 承認されたバッジ サイトから、TravisCI、Appveyor などの外部メタデータ バッジへのリンクの配列 | 有効なキー: href - バッジを選択するときにユーザーが移動するリンク。
uri - 表示するバッジ画像の絶対 URL。
description - ホバー時に表示されるバッジの説明。 |
ブランド | ブランド関連のプロパティの辞書。 | 有効なキー: color - 拡張機能または発行元の主色。16 進数 (#ff00ff)、RGB (rgb(100,200,50))、またはサポートされている HTML カラー名 (青) を指定できます。
theme - 色を補完します。暗いブランドの色には 濃色 を使用し、明るいブランド色には 明 るい色を使用します。 |
詳細ページを理解する
- 1 - 説明
- 2 - アイコン
- 3 - カテゴリ
- 4 - スクリーンショット
- 5 - コンテンツ (詳細)
- 6 - リンク
- 7 - ブランド化
Warnung
準備が整う前に統合がすべての Marketplace ユーザーに表示されないようにするには、 public
属性を false
に設定するか省略します。
マニフェストと資産をパッケージ化する
パッケージ ツールをインストールする (tfx-cli)
次の npm
を使用して、Azure DevOps (tfx-cli) 用のクロスプラットフォーム CLI をインストールまたは更新します。
npm i -g tfx-cli
.vsix ファイルに統合をパッケージ化する
tfx extension create --manifest-globs vss-extension.json
注
拡張機能または統合のバージョンを、更新のたびに増加させます。
マニフェストのバージョンを更新していない場合は、 --rev-version
コマンド ライン スイッチを使用します。 このスイッチは、 パッチ のバージョン番号を自動的にインクリメントし、新しいバージョンをマニフェストに保存します。
統合機能をマーケットプレイスに公開する
拡張機能がパッケージ化されたら、パブリッシャーの下の Marketplace にアップロードできます。
publisher
で指定された識別子は、拡張機能がアップロードされる発行元の識別子と一致する必要があります。
管理ポータルから、ページの上部にあるドロップダウン メニューから発行元を選択します。
[ 新しい拡張機能>Azure DevOps] を選択します。
ファイルをドラッグ アンド ドロップするか選択して、前のパッケージ化手順で作成した VSIX ファイルを見つけて、[ アップロード] を選択します。
クイック検証の後、公開されている拡張機能の一覧に拡張機能が表示されます。 心配しないでください。拡張機能はユーザーにのみ表示されます。
この時点で、拡張機能はどのアカウントにも表示されません。 他のユーザーに表示できるようにするには、拡張機能を共有する必要があります。
注
Microsoft は、公開された新規および更新された拡張機能パッケージごとにウイルス スキャンを実行します。 スキャンがすべてクリアされるまで、一般向けの拡張機能は Marketplace に公開されません。 これにより、Marketplace ページに不適切なコンテンツや不快なコンテンツが表示されるのを防ぐことができます。
統合を共有する
Azure DevOps 組織に統合をインストールする前に、その組織と共有します。 これらの段階で統合を実行する唯一の方法であるため、開発とテストには共有が必要です。
統合を共有するには、次の手順を実行します。
- 表示される項目の一覧から統合を選択する
- [共有] ボタンを選択する
- この統合を表示する組織の名前を指定します。 たとえば、dev.azure.com/fabrikam-fiber-inc 組織に統合を表示するには、を指定します。
項目を更新します
既に発行した拡張機能を更新するには、次の手順を実行します。
ヒント
拡張機能を削除して再アップロードするのではなく、更新します。 2 つの拡張機能を維持することをお勧めします。 publisher.extension
、顧客向けの Marketplace でパブリック、 publisher.extension-dev
、プライベート、開発とテストのために組織とのみ共有されます。
ソース コードの 2 つのコピーは必要ありません。拡張機能ごとに個別のマニフェスト ファイルを保持するだけです。 パッケージ化する場合は、適切なマニフェスト ファイルを tfx-cli ツールに提供します。 詳細については、 TFX 拡張コマンドを参照してください。
- 表示される項目の一覧から拡張機能を選択します。
-
など、開発バージョンの
publisher.extension-dev
を右クリックして選択します。 - 拡張機能を検証します。
-
publisher.extension
など、運用環境のバージョンに同じ更新プログラムを適用します。 - 拡張機能の .vsix ファイルを参照してアップロードします。
Azure DevOps は、既に拡張機能を持つすべてのアカウントの更新されたバージョンを自動的にインストールします。 新しいインストールも最新バージョンを受け取ります。
統合をパブリックにする
統合をすべてのユーザーに表示する方法については、「 リストを公開する」を参照してください。