Adicionar uma ação de menu
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Neste exemplo, adicionamos uma ação ao menu de contexto de consulta no hub de consultas de item de trabalho.
Dica
Confira nossa documentação mais recente sobre o desenvolvimento de extensão usando o SDK da Extensão do Azure DevOps.
Pré-requisitos para este artigo
- Você precisa criar um aplicativo Web para sua ação, que pode ser encontrado no exemplo de hub.
- Se você ainda não o fez, dê uma olhada no tutorial de escrever sua primeira extensão para aprender sobre o básico.
Atualizar arquivo de manifesto de extensão
Abaixo está o trecho de código que adiciona sua ação à seção de contribuições do manifesto de extensão.
...
"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"
}
}
]
...
Propriedades
Propriedade | Descrição |
---|---|
text | Texto que aparece no item de menu. |
title | Texto da dica de ferramenta que aparece no item de menu. |
ícone | URL para um ícone que aparece no item de menu. URLs relativas são resolvidas usando baseUri. |
groupId | Determina onde esse item de menu aparece em relação aos outros. |
uri | URI para uma página que registra o manipulador de ações de menu (veja abaixo). |
registeredObjectId | (Opcional) Nome do manipulador de ações de menu registrado. O padrão é o ID do colaborador. |
Saiba mais sobre todos os locais onde você pode adicionar ações em Pontos de extensibilidade.
Sua página HTML
Sua ação de menu é representada por um script JavaScript incorporado em um arquivo HTML. Salve o conteúdo a seguir em um arquivo e local que corresponda à referência a ele no arquivo de manifesto da extensão.
<!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>
Seu JavaScript
O script abaixo registra o objeto manipulador para manipular a ação, coloque-o head
na seção da página HTML anterior.
Nós aliased
lib
para estarnode_modules/azure-devops-extension-sdk/lib
em nossosdk-extension.json
arquivo de manifesto.
<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>
Dica
Para obter mais informações, consulte Pontos de extensibilidade, menus e barras de ferramentas, o modelo de contribuição do Sistema de Design de Fórmula, referência da API REST, exemplos de extensão e recursos na Comunidade de desenvolvedores.
Próximas etapas
Agora que você escreveu sua extensão, as próximas etapas são Empacotar, Publicar e Instalar sua extensão. Você também pode verificar a documentação para testar e depurar sua extensão.