Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

script.execute

Descripción

object script.execute(object parameters)

Este método permite ejecutar un script en un equipo o evento. Excepto para los scripts de tipo URL. Estos no son ejecutables.

Este método está disponible para usuarios de cualquier tipo. Los permisos para llamar al método pueden ser revocados en la configuración del rol de usuario. Consulte Roles de usuario para obtener más información.

Parámetros

(object) Parámetros que contienen el ID del script a ejecutar, ya sea el ID del equipo o el ID del evento y el valor de manualinput.

Parámetro Tipo Descripción
scriptid ID ID del script a ejecutar.

Comportamiento del parámetro:
- requerido
hostid ID ID del equipo en el que ejecutar el script.

Comportamiento del parámetro:
- requerido si eventid no está establecido
eventid ID ID del evento en el que ejecutar el script.

Comportamiento del parámetro:
- requerido si hostid no está establecido
manualinput string Valor proporcionado por el usuario para ejecutar el script, sustituyendo
la macro {MANUALINPUT}.

Valores de retorno

(object) Devuelve el resultado de la ejecución del script.

Propiedad Tipo Descripción
response string Indica si el script se ejecutó correctamente.

Valor posible - success.
value string Salida del script.
debug object Contiene un objeto debug si se ejecuta un script de webhook. Para otros tipos de script, contiene un objeto vacío.

Ejemplos

Ejecutar un script de webhook

Ejecuta un script de webhook que envía una solicitud HTTP a un servicio externo.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "script.execute",
           "params": {
               "scriptid": "4",
               "hostid": "30079"
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "response": "success",
               "value": "{\"status\":\"sent\",\"timestamp\":\"1611235391\"}",
               "debug": {
                   "logs": [
                        {
                            "level": 3,
                            "ms": 480,
                            "message": "[Webhook Script] HTTP status: 200."
                        }
                    ],
                    "ms": 495
               }
           },
           "id": 1
       }

Ejecutar un script personalizado

Ejecutar un script "ping" en un equipo.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "script.execute",
           "params": {
               "scriptid": "1",
               "hostid": "30079"
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "response": "success",
               "value": "PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.\n64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=0.074 ms\n64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=0.030 ms\n64 bytes from 127.0.0.1: icmp_req=3 ttl=64 time=0.030 ms\n\n--- 127.0.0.1 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 1998ms\nrtt min/avg/max/mdev = 0.030/0.044/0.074/0.022 ms\n",
               "debug": []
           },
           "id": 1
       }

Ejecutar un script personalizado con entrada manual

Ejecutar un script "ping" con el comando "ping -c {MANUALINPUT} {HOST.CONN}; case $? in [01]) true;; *) false;; esac" en un equipo.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "script.execute",
           "params": {
               "scriptid": "7",
               "hostid": "30079",
               "manualinput": "2"
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "response": "success",
               "value": "PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.\n64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.051 ms\n64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.025 ms\n\n--- 127.0.0.1 ping statistics ---\n2 packets transmitted, 2 received, 0% packet loss, time 1021ms\nrtt min/avg/max/mdev = 0.025/0.038/0.051/0.013 ms",
               "debug": []
           },
           "id": 1
       }

Fuente

CScript::execute() en ui/include/classes/api/services/CScript.php.