Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

script.execute

Описание

object script.execute(параметры объекта)

Этот метод позволяет запустить скрипт на хосте или событии. За исключением скриптов типа URL. Они не являются исполняемыми.

Этот метод доступен пользователям любого типа. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.

Параметры

(объект) Параметры, которые содержат ID выполняемого скрипта и ID узла сети.

Параметр Тип Описание
hostid
(требуется)
строка ID узла сети, на котором необходимо выполнить скрипт.
scriptid
(требуется)
строка ID выполняемого скрипта.

Возвращаемые значения

(объект) Возвращает результат выполнения скрипта.

Свойство Тип Описание
response строка Выполнился ли скрипт успешно.

Возможные значения: success или failed.
value строка Вывод скрипта.

Примеры

Выполнение скрипта

Выполнение "ping" скрипта на узле сети.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "script.execute",
           "params": {
               "scriptid": "1",
               "hostid": "30079"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }
Copy
✔ Copied

Ответ:

{
           "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"
           },
           "id": 1
       }
Copy
✔ Copied

Исходный код

CScript::execute() в frontends/php/include/classes/api/services/CScript.php.

Run a custom script with manual input

Run a "ping" script with command "ping -c {MANUALINPUT} {HOST.CONN}; case $? in [01]) true;; *) false;; esac" on a host.

Request:

{
           "jsonrpc": "2.0",
           "method": "script.execute",
           "params": {
               "scriptid": "7",
               "hostid": "30079",
               "manualinput": "2"
           },
           "id": 1
       }
Copy
✔ Copied

Response:

{
           "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
       }
Copy
✔ Copied

Источник

CScript::execute() в ui/include/classes/api/services/CScript.php.

To toggle search highlight, press Ctrl+Alt+H
Have an improvement suggestion for this page? Select the text that could be improved and press Ctrl+Enter to send it to the editors.