script.execute
Опис
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.