script.execute

Descripció

object script.execute(object parameters)

Aquest mètode permet executar un script a un equip o esdeveniment.

Aquest mètode és disponible per a qualsevol mena d'usuaris. Els permisos per cridar al mètode es poden revocar a la configuració de rols d'usuaris. Per a més informació, veieu Rols d'usuari.

Paràmetres

(object) Paràmetres que contenen l'ID de l'script a executar i l'ID de l'equip o l'ID de l'esdeveniment.

Paràmetre Tipus Descripció
scriptid
(obligatori)
cadena ID de l'script a executar.
hostid string ID de l'equip on executar l'script.
eventid string ID de l'esdeveniment on executar l'script.

Valors de retorn

(object) Retorna el resultat de l'execució de l'script.

Propietat Tipus Descripció
response string Indica si l'script s'ha executat correctament.

Valor possible: success.
value string Sortida de l'script.
debug object Conté un objecte de depuració si s'executa un script webhook. Per a altres tipus d'script, conté un objecte buit.

Exemples

Executar un scrupt de webhook

Executar un script webhook que envia una petició HTTP a un servei extern.

Petició:

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

Resposta:

{
           "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
       }

Executar un script fet a mida

Executar un script "ping" sobre un equip.

Petició:

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

Resposta:

{
           "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
       }

Font

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