Freigeben über


Hinzufügen einer Menüaktion

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

In diesem Beispiel fügen wir dem Abfragekontextmenü im Hub für Arbeitsaufgabenabfragen eine Aktion hinzu.

Tipp

Für die neuesten Anleitungen zur Erweiterungsentwicklung, einschließlich Themengestaltung und Migration von VSS.SDK, besuchen Sie das Entwicklerportal des Azure DevOps Extension SDK.

Voraussetzungen

Aktualisieren des Erweiterungsmanifests

Fügen Sie Ihre Aktion zum Abschnitt "Beiträge" Ihres Erweiterungsmanifests hinzu.

...
    "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"
            }
        }
    ]
...

Eigenschaften

Eigentum Beschreibung
Text Text, der im Menüelement angezeigt wird.
title QuickInfo-Text, der im Menüelement angezeigt wird.
Ikone URL zu einem Symbol, das im Menüelement angezeigt wird. Relative URLs werden mithilfe von baseUri aufgelöst.
Gruppen-ID Bestimmt, wo dieses Menüelement in Relation zu den anderen angezeigt wird.
uri URI zu einer Seite, die den Menüaktionshandler registriert (siehe unten).
registeredObjectId (Optional) Name des registrierten Menüaktionshandlers. Wird standardmäßig auf die Contributor-ID festgelegt.

Erfahren Sie mehr über alle Orte, an denen Sie Aktionen in Erweiterbarkeitspunktenhinzufügen können.

Ihre HTML-Seite

Ihre Menüaktion wird durch ein in eine HTML-Datei eingebettetes JavaScript-Skript dargestellt. Speichern Sie den folgenden Inhalt in einer Datei und einem Speicherort, der dem Verweis darauf in der Manifestdatei Ihrer Erweiterung entspricht.

<!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>

Nächste Schritte

Packen, veröffentlichen und installieren Sie Ihre Erweiterung.