# Solicitar menú personalizado
Con la opción Solicitar menú personalizado, puede personalizar el menú de **Acciones** de la página de **Solicitudes** mediante el uso de su propio script. Puede crear distintos menús de acciones y asociar clases personalizadas o archivos de script con los menús para ejecutar las acciones correspondientes. Los menús creados aquí se mostrarán en el menú **Acciones** de la página de **Detalles de la solicitud**.
En este documento se tratan los siguientes temas:
- [Agregar nuevo menú](#agregar-nuevo-menú)
- [Ver lista](#ver-lista)
## Agregar nuevo menú
1. Haga clic en la pestaña **Admin** en el panel de encabezado.
2. Haga clic en **Request Custom Menu** en el bloque **Helpdesk Customizer**. Se muestra la página **Request Custom Menu List View**. Desde aquí podrá agregar, editar, habilitar/deshabilitar y eliminar los menús personalizados.
3. Para agregar un nuevo menú personalizado de solicitud, haga clic en **Add New Menu** en la esquina derecha de **Request Custom Menu List View**.

4. Se muestra el formulario **New Menu**.

- Proporcione los siguientes detalles:
**Detalles básicos**:
- **[Obligatorio] Nombre del menú**: Especifique un nombre único para el menú que se está creando. (El nombre del menú se mostrará en el menú **Acciones** en la [página Detalles de la solicitud](https://www.manageengine.com/requests/request-list-view.html)).
- **Asociar plantillas**: Elija una de las siguientes plantillas para asociar: '**Todas las plantillas**', '**Todas las plantillas de incidentes**', '**Todas las plantillas de servicio**' o '**Seleccionar plantillas**'.
- **Asociar roles**: Decida qué roles de técnico tendrán acceso a este menú. Puede elegir una de las siguientes opciones:

- **Seleccionar roles**: Seleccione los roles necesarios escribiendo el nombre del rol (por ejemplo, *SDAdmin, SDGuest*, etc.) en el cuadro de texto disponible.
- **Todos los roles**: Simplemente elija esta opción.
- **Descripción**: Describa el menú indicando su propósito.
- **Seleccionar plantillas**: Si elige esta opción, se mostrarán las siguientes opciones. Elija Plantillas de incidentes o Plantillas de servicio. Luego, mueva las opciones de plantilla requeridas del panel izquierdo al panel derecho (Plantillas seleccionadas), como se muestra a continuación:

### Realizar acción
Para realizar una acción, es necesario contar con un archivo **HTML**, un archivo de **script** o un archivo de **clase** en la ubicación especificada para implementar la acción. Puede realizar las siguientes acciones:
- **Archivo HTML personalizado**:
- Para cargar un archivo HTML personalizado cuando se invoque el menú, debe colocar ese archivo en el directorio *[SDP_Home]/Integration/resources/*. Solo se admiten para la invocación archivos con extensiones **htt/htx/htm/html/htmls**. Además, los archivos de dependencia, como JavaScript y CSS, deben colocarse en la misma ubicación.
**Ejemplo**: *Create_Jira_Ticket.html*
- **Tipo de acción - Ejecutar clase**
- **Tipo de acción - Ejecutar script**:
- Para ejecutar una clase, debe especificar la clase ejecutora en el campo proporcionado. Debe colocar manualmente la Clase/Jar requerida en un archivo de texto y guardarlo en el directorio `[SDP_Home]/integration/lib/executor_files`.
[Haga clic aquí](https://www.manageengine.com/latam/service-desk/help/adminguide/executing_script_in_business_rule%24sample-script) para ver una configuración de ejemplo.
- Para ejecutar un script, debe especificar el nombre del archivo de texto en el campo proporcionado. De forma predeterminada, debe guardar manualmente los archivos de texto en el directorio `[SDP_Home]/integration/custom_scripts/executor_files`.
También puede pasar argumentos para **Script/Clase personalizada**. Todos los parámetros de la API son compatibles como argumentos.
**Ejemplos**:
**Para script**: *cmd / c Index.bat*
**Para clase**: *com.servicedeskplus.integration.JiraActionImplementation*
| Otros parámetros compatibles |
|---|
| **$COMPLETE_V3_JSON_FILE** ---> El objeto completo de la solicitud se guardará en un archivo JSON y la ruta del archivo se pasará como objeto String.
**Ruta del archivo JSON**:
*(SDP_Home\integration\custom_scripts\request\12_1426143538036.json)*
**$HTML_DATA_JSON_FILE** ---> La solicitud de llamada Ajax del parámetro "**data**" se guardará en un archivo JSON junto con el nombre del menú, la ruta del archivo json de la solicitud y la ruta del archivo xml, y la ruta del archivo se pasará como objeto String. Se usa con Archivo HTML personalizado.
**Ejemplo**: *(SDP_Home\integration\custom_scripts\request\12_1426143538036.json)*
**$HANDSHAKE_KEY** ---> La clave de enlace se pasará como objeto String. |
6. Haga clic en **Guardar**.
Ahora, el menú está creado y puede verse en el menú **Acciones** en la [página Detalles de la solicitud](https://www.manageengine.com/latam/service-desk/help/adminguide/configurations/helpdesk/request-list-view).
## Ver lista
Puede acceder a esta opción mientras agrega un nuevo menú. Desde aquí puede hacer lo siguiente:
### Habilitar/Deshabilitar un menú
1. Haga clic en el ícono  junto a un menú para deshabilitarlo.
2. Haga clic en el ícono  junto a un menú para habilitarlo.
### Editar un menú
1. Desde Request Custom Menu List View, haga clic en el ícono **Editar**  junto al menú que desea editar.
2. Modifique los detalles requeridos.
3. Haga clic en **Guardar** para guardar los cambios realizados.
### Eliminar un menú
1. Desde Request Custom Menu List View, haga clic en el ícono **Eliminar**  junto al menú que desea eliminar. Aparecerá una ventana de confirmación.
2. Haga clic en **Aceptar** para continuar con la eliminación. El menú se elimina de la lista.
3. Si no desea eliminar el menú, haga clic en **Cancelar**.