Ajouter une action de menu
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Dans cet exemple, nous ajoutons une action au menu contextuel de requête dans le hub de requêtes d’élément de travail.
Conseil
Consultez notre documentation la plus récente sur le développement d’extensions à l’aide du Kit de développement logiciel (SDK) d’extension Azure DevOps.
Conditions préalables pour cet article
- Vous devez créer une application web pour votre action, qui se trouve dans l’exemple hub.
- Si ce n’est pas le cas, consultez le didacticiel d’écriture de votre première extension pour en savoir plus sur les concepts de base.
Mettre à jour le fichier manifeste d’extension
Voici l’extrait de code qui ajoute votre action à la section contributions de votre manifeste d’extension.
...
"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"
}
}
]
...
Propriétés
Property | Description |
---|---|
texte | Texte qui apparaît dans l’élément de menu. |
title | Texte d’info-bulle qui s’affiche sur l’élément de menu. |
icône | URL vers une icône qui apparaît dans l’élément de menu. Les URL relatives sont résolues à l’aide de baseUri. |
groupId | Détermine l’emplacement où cet élément de menu apparaît par rapport aux autres. |
URI | URI vers une page qui inscrit le gestionnaire d’actions de menu (voir ci-dessous). |
registeredObjectId | (Facultatif) Nom du gestionnaire d’actions de menu inscrites. La valeur par défaut est l’ID de contributeur. |
Découvrez tous les endroits où vous pouvez ajouter des actions dans des points d’extensibilité.
Votre page HTML
Votre action de menu est représentée par un script JavaScript incorporé dans un fichier HTML. Enregistrez le contenu suivant dans un fichier et un emplacement qui correspond à la référence à celui-ci dans le fichier manifeste de votre extension.
<!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>
Votre code JavaScript
Le script ci-dessous inscrit l’objet gestionnaire pour gérer l’action, placez-le dans la head
section de la page HTML précédente.
Nous avons alias
lib
pour êtrenode_modules/azure-devops-extension-sdk/lib
dans notresdk-extension.json
fichier manifeste.
<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>
Conseil
Pour plus d’informations, consultez les points d’extensibilité, les menus et les barres d’outils, le modèle contribution du système de conception de formule, la référence de l’API REST, les exemples d’extension et les ressources dans la communauté des développeurs.
Étapes suivantes
Maintenant que vous avez écrit votre extension, les étapes suivantes sont de empaqueter, publier et installer votre extension. Vous pouvez également case activée la documentation relative au test et au débogage de votre extension.