Sdílet prostřednictvím


Přidejte akci nabídky

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

V tomto příkladu přidáme akci do místní nabídky dotazu v uzlu dotazů pracovních položek.

Spropitné

Projděte si nejnovější dokumentaci k vývoji rozšíření s využitím sady Azure DevOps Extension SDK.

Požadavky

Aktualizace manifestu souboru přípony

Níže je ukázka kódu, která přidá vaši akci do sekce příspěvků manifestu rozšíření .

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

Vlastnosti

Vlastnost Popis
Text Text zobrazovaný v položce nabídky
titul Text popisu, který se zobrazí na položce nabídky
ikona Adresa URL ikony, která se zobrazí v položce nabídky. Relativní adresy URL se řeší pomocí baseUri.
ID skupiny Určuje, kde se tato položka nabídky zobrazuje ve vztahu k ostatním.
uri URI stránky, která registruje zpracovatele akcí nabídky (viz níže).
registrovanýObjektID (Volitelné) Název obslužné rutiny akce registrované nabídky Výchozí hodnota je ID přispěvatele.

Přečtěte si o všech místech, kde můžete přidávat akce v bodech rozšiřitelnosti .

Vaše stránka HTML

Akce nabídky je reprezentována javascriptovým skriptem vloženým do souboru HTML. Uložte následující obsah do souboru a umístění, které odpovídá odkazu na něj v souboru manifestu vaší přípony.

	<!DOCTYPE html>
	<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Action Sample</title>
	</head>
	<body>
		<div>
			The end user doesn't see the content on this page.
			It is only in the background to handle the contributed menu item being selected.
		</div>
	</body>
	</html>

Váš JavaScript

Následující skript zaregistruje objekt obslužné rutiny pro zpracování akce, umístí ho do head oddílu předchozí stránky HTML.

V našem manifestovém souboru sdk-extension.json jsme určili, že lib je aliasem pro node_modules/azure-devops-extension-sdk/lib.

<script src="lib/SDK.min.js"></script>
<script>
    SDK.init();

    // Use an IIFE to create an object that satisfies the IContributedMenuSource contract
    var menuContributionHandler = (function () {
        "use strict";
        return {
            // This is a callback that gets invoked when a user selects the newly contributed menu item
            // The actionContext parameter contains context data surrounding the circumstances of this
            // action getting invoked.
            execute: function (actionContext) {
                alert("Hello, world");
            }
        };
    }());

    // Associate the menuContributionHandler object with the "myAction" menu contribution from the manifest.
    SDK.register(SDK.getContributionId(), menuContributionHandler);
</script>

Spropitné

Další informace najdete v tématu body rozšiřitelnosti , nabídky a panely nástrojů, model přispívání , systému návrhu vzorců , referenčního rozhraní REST API , ukázky rozšíření a zdroje v komunitě vývojářů .

Další kroky

Teď, když jste napsali rozšíření, jsou dalšími kroky jeho zabalení, publikování a instalace. Můžete si také prohlédnout dokumentaci k testování a ladění rozšíření.