Lägg till en menyåtgärd

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

I det här exemplet lägger vi till en åtgärd på frågekontextmenyn i navet för arbetsobjektsfrågor.

Tips

För den senaste utvecklingsvägledningen för tillägg, inklusive teman och migrering från VSS. SDK, se utvecklarportalen för Azure DevOps Extension SDK.

Förutsättningar

Uppdatera tilläggsmanifestet

Lägg till åtgärden i bidragsavsnittet i tilläggsmanifestet.

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

Egenskaper

Egenskap Beskrivning
text Text som visas på menyalternativet.
titel Verktygstipstext som visas på menyalternativet.
ikon URL till en ikon som visas på menyalternativet. Relativa URL:er matchas med hjälp av baseUri.
groupId Avgör var det här menyalternativet visas i förhållande till de andra.
Uri URI till en sida som registrerar menyåtgärdshanteraren (se nedan).
registreratObjektId (Valfritt) Namnet på den registrerade menyåtgärdshanteraren. Standardvärdet för deltagar-ID:t.

Lär dig mer om alla ställen där du kan lägga till åtgärder i Utökningspunkter.

Din HTML-sida

Din menyåtgärd representeras av ett JavaScript-skript som är inbäddat i en HTML-fil. Spara följande innehåll i en fil och plats som matchar referensen till den i tilläggets manifestfil.

<!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ästa steg

Paketera, publicera och installera tillägget.