script.execute

Descripció

object script.execute(object parameters)

Aquest mètode permet executar un script a un equip o esdeveniment; excepte per scripts de tipus URL, que aquests no són pas executables.

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 cadena ID de l'script a executar.

Comportament de la propietat:
- obligatori
hostid string ID de l'equip on executar l'script.

Comportament de la propietat:
- obligatori si no s'ha definit eventid
eventid string ID de l'esdeveniment on executar l'script.

Comportament de la propietat:
- obligatori si no s'ha definit pas hostid

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

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

Petició:

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