Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022
Visual Studio Marketplace で Azure DevOps と統合するツール、サービス、または製品を発行します。 Marketplace は、ユーザーが統合と拡張機能を検出するための中心的なハブです。
注
この記事では、 統合 (外部ツールとサービス) について説明します。 拡張機能 (Azure DevOps 内で実行されるアドオン) については、「拡張機能のパッケージ化と発行」を参照してください。
[前提条件]
Marketplace に発行する前に、次の要件の一覧を満たす必要があります。
| カテゴリ | 要求事項 |
|---|---|
| パッケージ化ツール | 拡張機能パッケージ ツール (TFX) をインストールします。 コマンド プロンプトから npm install -g tfx-cli を実行します。 |
| イメージのアクセス許可 | アイコン、ロゴ、スクリーンショットなどの画像を使用するための適切なアクセス許可があることを確認します。 |
| Marketplace の概要 | 詳細なoverview.mdファイルを含めて、Marketplace に登録情報を記述してください。 |
| 拡張機能アイコン | 統合、会社、または組織を表す拡張機能のアイコン (サイズが 128 x 128 ピクセル (PNG または JPEG) 以上) を含めます。 |
| Microsoft 製品名 | Microsoft 製品のフル ネーム (AzDO やその他の省略形ではなく Azure DevOps など) を使用します。 |
| ブランド名 | 拡張機能の名前にはブランド名を使用しないでください。 |
また、次の資産も必要です。
- 統合の少なくとも 1 つのスクリーンショット
- ユーザーに行動を促すまたは開始する URL
パブリッシャーを作成する
Microsoft からの拡張機能や統合を含め、すべての拡張機能または統合には発行元が必要です。 誰でもパブリッシャーを作成し、その下に拡張機能を発行できます。 また、開発チームなどの他のユーザーとパブリッシャー アクセスを共有することもできます。
Visual Studio Marketplace 発行ポータルにサインインします。
既存のパブリッシャーの一部でない場合は、[ + 発行元の作成] を選択します。
発行元名を入力します。ID フィールドは、入力に基づいて自動入力されます。
注
- 発行元名がマルチバイト文字の場合は 16 文字以内であることを確認します。
- 発行元 ID を保存します。これは拡張機能のマニフェスト ファイルに必要です。
発行元の作成を求めるメッセージが表示されない場合は、[関連サイト] の下の [拡張機能の発行] までスクロールします。
-
mycompany-myteamなど、一意の発行元識別子を設定します。 マニフェストのpublisher属性にこの値を使用します。 -
My Teamなどの表示名を設定します。
Marketplace パブリッシャー契約を確認し、[作成] を選択します。
発行元を作成した後は、アイテムを管理できますが、発行するまでアイテムは表示されません。
プロジェクト構造を設定する
次のディレクトリ レイアウトを作成します。
home/
├── images/
│ ├── integration-logo.png (128×128 px minimum)
│ └── screenshot.png (1366×768 px)
├── overview.md
└── vss-integration.json
| File | Purpose |
|---|---|
overview.md |
GitHub Flavored Markdown による統合の説明。 |
vss-integration.json |
Marketplace マニフェスト。 拡張機能マニフェストリファレンスを参照してください。 |
マニフェストを作成する
次の内容で vss-integration.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"
}
}
次の参照を使用してフィールドを更新します。
| プロパティ | 説明 | 注記 |
|---|---|---|
| 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 - 色を補完します。暗いブランドの色には 濃色 を使用し、明るいブランド色には 明 るい色を使用します。 |
Warnung
publicをfalseに設定するか、パブリック表示の準備ができるまで省略します。
統合をパッケージ化する
まだインストールしていない場合は、パッケージ化ツールをインストールします。
npm install -g tfx-cli統合を .vsix ファイルにパッケージ化します。
tfx extension create --manifest-globs vss-integration.jsonヒント
--rev-versionを使用して、パッチのバージョン番号を自動的にインクリメントします。
Marketplace に発行する
拡張機能がパッケージ化されたら、パブリッシャーの下の Marketplace にアップロードできます。
publisherで指定された識別子は、拡張機能がアップロードされる発行元の識別子と一致する必要があります。
管理ポータルから、ページの上部にあるドロップダウン メニューから発行元を選択します。
[ 新しい拡張機能>Azure DevOps] を選択します。
ファイルをドラッグ アンド ドロップするか選択して、前のパッケージ化手順で作成した VSIX ファイルを見つけて、[ アップロード] を選択します。
クイック検証の後、公開されている拡張機能の一覧に拡張機能が表示されます。 心配しないでください。拡張機能はユーザーにのみ表示されます。
この時点で、拡張機能はどのアカウントにも表示されません。 他のユーザーに表示できるようにするには、拡張機能を共有する必要があります。
注
Microsoft は、公開された新規および更新された拡張機能パッケージごとにウイルス スキャンを実行します。 スキャンがすべてクリアされるまで、一般向けの拡張機能は Marketplace に公開されません。 これにより、Marketplace ページに不適切なコンテンツや不快なコンテンツが表示されるのを防ぐことができます。
統合を共有する
Azure DevOps 組織に統合をインストールする前に、その組織と統合を共有する必要があります。
- 表示される項目の一覧から統合を選択します。
- 共有を選択します。
- 組織名を入力します(例:
fabrikam-fiber-incの場合、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 は、既に拡張機能を持つすべてのアカウントの更新されたバージョンを自動的にインストールします。 新しいインストールも最新バージョンを受け取ります。
統合をパブリックにする
統合をすべての Marketplace ユーザーに表示するには、マニフェストで
公開リストに必要な資格の詳細については、「 拡張機能を公開する」を参照してください。