Přidání akce 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 centru dotazů pracovních položek.

Tip

Projděte si nejnovější dokumentaci k vývoji rozšíření pomocí sady SDK rozšíření Azure DevOps.

Požadavky pro tento článek

  • Pro svoji akci musíte vytvořit webovou aplikaci, kterou najdete v příkladu centra.
  • Pokud jste to neudělali, podívejte se na svůj první kurz rozšíření, kde se dozvíte o základech.

Aktualizace souboru manifestu přípony

Níže je fragment kódu, který přidá vaši akci do oddílu 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, který se zobrazí v položce nabídky
title Text popisu, který se zobrazí v položce nabídky
Ikonu Adresa URL ikony, která se zobrazí v položce nabídky. Relativní adresy URL se překládají pomocí baseUri.
groupId Určuje, kde se tato položka nabídky zobrazuje ve vztahu k ostatním.
uri Identifikátor URI na stránku, která zaregistruje obslužnou rutinu akce nabídky (viz níže).
registeredObjectId (Volitelné) Název obslužné rutiny akce registrované nabídky Výchozí hodnota je ID přispěvatele.

Seznamte se se všemi místy, kde můžete přidávat akce v bodech rozšiřitelnosti.

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 a umístí ho do head oddílu předchozí stránky HTML.

Aliasovali lib jsme, abychom byli node_modules/azure-devops-extension-sdk/lib v souboru sdk-extension.json manifestu.

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

Tip

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

Další kroky

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