Compartilhar via


Adicionar uma ação de menu

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Neste exemplo, adicionamos uma ação ao menu de contexto de consulta no hub de consultas do item de trabalho.

Dica

Para obter as diretrizes mais recentes de desenvolvimento de extensão, incluindo temas e migração do VSS. SDK, consulte o portal do desenvolvedor do SDK de Extensão do Azure DevOps.

Pré-requisitos

Atualizar o manifesto da extensão

Adicione sua ação à seção de contribuições do manifesto da 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 Description
enviar SMS Texto que aparece no item de menu.
title Texto da dica de ferramenta que aparece no item de menu.
icon URL para um ícone que aparece no item de menu. as 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ção de menu (veja abaixo).
identificadorDoObjetoRegistrado (Opcional) Nome do manipulador de ação de menu registrado. Define-se por padrão como a ID do colaborador.

Saiba mais sobre todos os locais em que você pode adicionar ações em pontos de extensibilidade.

Sua página HTML

Sua ação de menu é representada por um script JavaScript inserido 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 sua extensão.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Action Sample</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
    <script>
        window.requirejs.config({
            enforceDefine: true,
            paths: {
                'SDK': './lib/SDK.min'
            }
        });
        window.requirejs(['SDK'], function (SDK) {
            SDK.init();
            SDK.ready().then(() => {
                // Register the menu action handler
                SDK.register(SDK.getContributionId(), {
                    execute: function (actionContext) {
                        alert("Hello, world");
                    }
                });
            });
        });
    </script>
</head>
<body>
    <div>
        The end user doesn't see the content on this page.
        It runs in the background to handle the contributed menu item being selected.
    </div>
</body>
</html>

Próximas etapas

Empacotar, publicar e instalar sua extensão.