Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
W tym przykładzie dodajemy akcję do menu kontekstowego zapytania w centrum zapytań elementu roboczego.
Napiwek
Zapoznaj się z naszą najnowszą dokumentacją dotyczącą programowania rozszerzeń przy użyciu zestawu SDK rozszerzenia usługi Azure DevOps.
Warunki wstępne
Aktualizowanie pliku manifestu rozszerzenia
Poniżej znajduje się fragment kodu, który dodaje twoją akcję do sekcji wkładu w manifeście rozszerzenia .
...
"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"
}
}
]
...
Właściwości
| Własność | Opis |
|---|---|
| SMS | Tekst wyświetlany w elemencie menu. |
| tytuł | Tekst podpowiedzi wyświetlany w elemencie menu. |
| ikona | Adres URL ikony wyświetlanej w elemencie menu. Względne adresy URL są rozwiązywane za pomocą bazowego URI. |
| groupId (identyfikator grupy) | Określa, gdzie ten element menu jest wyświetlany w odniesieniu do innych. |
| Uri | Identyfikator URI strony, która rejestruje obsługę akcji menu (patrz poniżej). |
| zarejestrowanyIdObiektu | (Opcjonalnie) Nazwa zarejestrowanego programu obsługi akcji menu. Domyślnie jest to identyfikator współautora. |
Dowiedz się, gdzie możesz dodawać akcje w punktach rozszerzalności .
Strona HTML
Akcja menu jest reprezentowana przez skrypt JavaScript osadzony w pliku HTML. Zapisz następującą zawartość w pliku i lokalizacji zgodnej z odwołaniem do niego w pliku manifestu rozszerzenia.
<!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>
Twój kod JavaScript
Poniższy skrypt rejestruje obiekt obsługi do obsługi akcji i umieszcza go w sekcji head poprzedniej strony HTML.
Ustanowiliśmy alias
libjakonode_modules/azure-devops-extension-sdk/libw naszym pliku manifestusdk-extension.json.
<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>
Napiwek
Aby uzyskać więcej informacji, zobacz Punkty rozszerzalności, menu i paski narzędzi, model kontrybucji, Formula Design System, dokumentację interfejsu API REST, przykłady rozszerzeń oraz zasoby w Developer Community.
Następne kroki
Teraz, po napisaniu Twojego rozszerzenia, kolejnymi krokami są: zapakować, opublikować i zainstalować rozszerzenie. Możesz również zapoznać się z dokumentacją dotyczącą testowania i debugowania rozszerzenia.