object script.execute(object parameters)
Овај метод омогућава покретање скрипте на домаћину или догађају. Осим скрипти типа URL. Они нису извршни.
Овај метод је доступан корисницима било које врсте. Дозволе за позивање методе могу се опозвати у подешавањима улоге корисника. Погледајте Улоге корисника за више информација.
(object)
Параметри који садрже ID скрипте за покретање, било ID домаћина или ID догађаја и вредност ручног уноса.
Parameter | Type | Description |
---|---|---|
scriptid | ID | ID скрипта за покретање. Понашање параметра: - обавезно |
hostid | ID | ID домаћин за покретање скрипте. Параметар понашање: - обавезно ако eventid није подешен |
eventid | ID | ID догађаја за покретање скрипте. Параметар понашање: - обавезно ако hostid није подешен |
manualinput | string | Вредност коју даје корисник за {MANUALINPUT} скрипте, замењујући {MANUALINPUT} макро. |
(object)
Враћа резултат извршавања скрипте.
Property | Type | Description |
---|---|---|
response | string | Да ли је скрипта успешно покренута. Могућа вредност - success . |
value | string | Излаз скрипте. |
debug | object | Садржи отклањање грешака објекат ако се изврши вебхyк скрипта. За друге типове скрипта, садржи празан објекат. |
Покрените вебхук скрипту која шаље HTTP захтев спољној услузи.
{
"jsonrpc": "2.0",
"method": "script.execute",
"params": {
"scriptid": "4",
"hostid": "30079"
},
"id": 1
}
Одговор:
{
"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
}
Покрените "ping" скрипту на домаћину.
{
"jsonrpc": "2.0",
"method": "script.execute",
"params": {
"scriptid": "1",
"hostid": "30079"
},
"id": 1
}
Одговор:
{
"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
}
Покрените "ping" скрипту са командом "ping -c {MANUALINPUT} {HOST.CONN}; case $? in [01]) true;; *)false;; esac" на домаћину.
{
"jsonrpc": "2.0",
"method": "script.execute",
"params": {
"scriptid": "7",
"hostid": "30079",
"manualinput": "2"
},
"id": 1
}
Одговор:
{
"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_seq=1 ttl=64 time=0.051 ms\n64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.025 ms\n\n--- 127.0.0.1 ping statistics ---\n2 packets transmitted, 2 received, 0% packet loss, time 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.