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, želib
je aliasem pronode_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í.