script.execute

Description

object script.execute(object parameters)

Cette méthode permet d'exécuter un script sur un hôte ou un événement.

Cette méthode est disponible à tous les types d'utilisateurs. Les autorisations d'appeler la méthode peuvent être révoquées dans les paramètres du le rôle d'utilisateur. Voir Rôles Utilisateur pour plus d'informations.

Paramètres

(object) Paramètres contenant l'ID du script à exécuter et soit l'ID de l'hôte, soit l'ID de l'événement.

Paramètre Type Description
scriptid
(obligatoire)
string ID du script à exécuter.
hostid string ID de l'hôte sur lequel exécuter le script.
eventid string ID de l'événement sur lequel exécuter le script.

Valeurs retournées

(object) Renvoie le résultat de l'exécution du script.

Propriété Type Description
response string Indique si le script a été exécuté avec succès.

Valeur possible - success.
value string Sortie du script.
debug object Contient un objet de débogage si un script webhook est exécuté. Pour les autres types de script, il contient un objet vide.

Exemples

Exécuter un script de webhook

Exécutez un script webhook qui envoie une requête HTTP à un service externe.

Requête :

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

Réponse :

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

Exécution d'un script personnalisé

Exécutez un script "ping" sur un hôte.

Requête :

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

Réponse :

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

Source

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