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 bylinode_modules/azure-devops-extension-sdk/lib
v souborusdk-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í.