Partilhar via


Adicionar uma ação de menu

Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022

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

Dica

Para as mais recentes orientações de desenvolvimento de extensões, incluindo tema e migração do VSS. SDK, consulte o portal para programadores do Azure DevOps Extension SDK.

Pré-requisitos

Atualizar o manifesto de extensão

Adicione a sua ação à secção de contribuições do seu 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
enviar SMS Texto que aparece no item de menu.
título Texto de dica de ferramenta que aparece no item de menu.
ícone URL para um ícone que aparece no item de menu. As URLs relativas são resolvidas usando baseUri.
ID do grupo Determina onde este 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).
ID de Objeto Registado (Opcional) Nome do manipulador de ações de menu registrado. Por padrão, é utilizado o ID do colaborador.

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

A 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 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óximos passos

Empacote, publique e instale a sua extensão.