object script.execute(object parameters)
Deze methode maakt het mogelijk om een script uit te voeren op een host of gebeurtenis. Met uitzondering van scripts van het URL-type. Die zijn niet uitvoerbaar.
Deze methode is beschikbaar voor gebruikers van elk type. Toestemming om de methode op te roepen kan worden ingetrokken in de instellingen van gebruikersrollen. Zie Gebruikersrollen voor meer informatie.
(object)
Parameters die de ID van het script bevatten om uit te voeren en ofwel de ID van de host of de ID van het evenement.
Parameter | Type | Beschrijving |
---|---|---|
scriptid | string | ID van het script dat moet worden uitgevoerd. Parametergedrag: - vereist |
hostid | string | ID van de host waarop het script moet worden uitgevoerd. Parametergedrag: - vereist als eventid niet is ingesteld |
eventid | string | ID van het evenement waarop het script moet worden uitgevoerd. Parametergedrag: - vereist als hostid niet is ingesteld |
(object)
Geeft het resultaat van de scriptuitvoering weer.
Eigenschap | Type | Beschrijving |
---|---|---|
reactie | string | Of het script succesvol is uitgevoerd. Mogelijke waarde - succes . |
waarde | string | Uitvoer van het script. |
debug | object | Bevat een debugobject als een webhook-script wordt uitgevoerd. Voor andere scripttypes bevat het een leeg object. |
Voer een webhook-script uit dat een HTTP-verzoek naar een externe service stuurt.
{
"jsonrpc": "2.0",
"method": "script.execute",
"params": {
"scriptid": "4",
"hostid": "30079"
},
"id": 1
}
Reactie:
{
"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
}
Voer een "ping" script uit op een host.
{
"jsonrpc": "2.0",
"method": "script.execute",
"params": {
"scriptid": "1",
"hostid": "30079"
},
"id": 1
}
Reactie:
{
"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
}
Voer een "ping"-script uit met de opdracht "ping -c {MANUALINPUT} {HOST.CONN}; case $? in [01]) true;; *) false;; esac" op een host.
{
"jsonrpc": "2.0",
"method": "script.execute",
"params": {
"scriptid": "7",
"hostid": "30079",
"manualinput": "2"
},
"id": 1
}
Reactie:
{
"jsonrpc": "2.0",
"result": {
"response": "success",
"value": "PING 127.0.0.1 (127.0.0.1) 56(84) bytes aan data.\n64 bytes van 127.0.0.1: icmp_seq=1 ttl=64 time=0.051 ms\n64 bytes van 127.0.0.1: icmp_seq=2 ttl=64 time=0.025 ms\n\n--- 127.0.0.1 ping statistieken ---\n2 verzonden pakketten, 2 ontvangen, 0% pakketverlies, tijd 1021ms\nrtt min/avg/max/mdev = 0.025/0.038/0.051/0.013 ms",
"debug": []
},
"id": 1
}
CScript::execute() in ui/include/classes/api/services/CScript.php.