次の方法で共有


メニュー アクションを追加する

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

この例では、作業項目クエリ ハブのクエリ コンテキスト メニューにアクションを追加します。

ヒント

テーマ設定や VSS からの移行など、最新の拡張機能開発ガイダンスについて説明します。SDK については、 Azure DevOps Extension SDK 開発者ポータルを参照してください。

前提 条件

拡張機能マニフェストを更新する

拡張機能マニフェストの投稿セクションにアクションを追加します。

...
    "contributions": [
        {
            "id": "myAction",
            "type": "ms.vss-web.action",
            "description": "Run in Hello hub action",
            "targets": [
                "ms.vss-work-web.work-item-query-menu"
            ],
            "properties": {
                "text": "Run in Hello hub",
                "title": "Run in Hello hub",
                "icon": "images/icon.png",
                "groupId": "actions",
                "uri": "action.html"
            }
        }
    ]
...

プロパティ

財産 説明
SMS 送信 メニュー項目に表示されるテキスト。
タイトル メニュー項目に表示されるツールヒント テキスト。
アイコン メニュー項目に表示されるアイコンの URL。 相対 URL は baseUri を使用して解決されます。
groupId このメニュー項目が他のメニュー項目と関連して表示される場所を決定します。
uri メニュー アクション ハンドラーを登録するページへの URI (下記参照)。
登録済みオブジェクトID (省略可能)登録済みのメニュー アクション ハンドラーの名前。 既定値は共同作成者 ID です。

拡張ポイントにおいてアクションを追加できるすべての場所について学びます。

あなたのHTMLページ

メニュー アクションは、HTML ファイルに埋め込まれた JavaScript スクリプトによって表されます。 次の内容を、拡張機能のマニフェスト ファイル内の参照と一致するファイルと場所に保存します。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Action Sample</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
    <script>
        window.requirejs.config({
            enforceDefine: true,
            paths: {
                'SDK': './lib/SDK.min'
            }
        });
        window.requirejs(['SDK'], function (SDK) {
            SDK.init();
            SDK.ready().then(() => {
                // Register the menu action handler
                SDK.register(SDK.getContributionId(), {
                    execute: function (actionContext) {
                        alert("Hello, world");
                    }
                });
            });
        });
    </script>
</head>
<body>
    <div>
        The end user doesn't see the content on this page.
        It runs in the background to handle the contributed menu item being selected.
    </div>
</body>
</html>

ヒント

詳細については、「拡張ポイント、メニュー、ツール バーの 」、数式デザイン システムREST API リファレンス拡張機能のサンプル、および Developer Communityのリソース コントリビューション モデルを参照してください。

次の手順

拡張機能をパッケージ化、発行、インストールします。