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.
(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. |
(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. |
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é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
}
CScript::execute() dans ui/include/classes/api/services/CScript.php.