script.execute

Descripción

objeto script.execute(parámetros del objeto)

Este método permite ejecutar un script en un equipo o evento.

Este método está disponible para usuarios de cualquier tipo. Los permisos para llamar al método se pueden revocar en la configuración de roles de usuario. Ver roles de usuario para más información.

Parámetros

(objeto) Parámetros que contienen el ID del script a ejecutar y el ID del equipo o el ID del evento.

Parámetro Tipo Descripción
scriptid
(obligatorio)
cadena ID del script a ejecutar.
hostid cadena ID del equipo en el que se ejecutará el script.
eventid cadena ID del evento en el que se ejecutará el script.

Valores de retorno

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

Propiedad Tipo Descripción
response cadena Si el script se ejecutó correctamente.

Valor posible: éxito.
value cadena Salida del script.
debug object Contiene un objeto de depuración si se ejecuta un script de webhook. Para otros tipos de script, contiene un objeto vacío.

Ejemplos

Ejecutar un script de webhook

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

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "script.execute",
           "params": {
               "scriptid": "4",
               "hostid": "30079"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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

Ejecute un script de "ping" en un equipo.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "script.execute",
           "params": {
               "scriptid": "1",
               "hostid": "30079"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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
       }

Fuente

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