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.