Partekatu honen bidez:


Agregar una acción de menú

Servicios de Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

En este ejemplo, agregamos una acción al menú contextual de consulta en el centro de consultas del elemento de trabajo.

Sugerencia

Para obtener las instrucciones de desarrollo de extensiones más recientes, incluidas las temáticas y la migración desde VSS. SDK, consulte el portal para desarrolladores del SDK de extensión de Azure DevOps.

Prerrequisitos

Actualización del manifiesto de extensión

Agregue la acción a la sección de contribuciones del manifiesto de extensión.

...
    "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"
            }
        }
    ]
...

Propiedades

Propiedad Description
texto Texto que aparece en el elemento de menú.
title Texto de información sobre herramientas que aparece en el elemento de menú.
icono Dirección URL a un icono que aparece en el elemento de menú. Las direcciones URL relativas se resuelven mediante baseUri.
groupId Determina dónde aparece este elemento de menú en relación con los demás.
Uri URI a una página que registra el controlador de acciones de menú (véase a continuación).
IdObjetoRegistrado (Opcional) Nombre del controlador de acción de menú registrado. Se configura por defecto como el identificador de colaborador.

Obtenga información sobre todos los lugares donde puede agregar acciones en puntos de extensibilidad.

Página HTML

La acción de menú se representa mediante un script de JavaScript incrustado en un archivo HTML. Guarde el siguiente contenido en un archivo y una ubicación que coincida con la referencia a él en el archivo de manifiesto de la extensión.

<!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>

Pasos siguientes

Empaqueta, publica e instala la extensión.