action.create

Опис

object action.create(object/array actions)

Цей метод дозволяє створювати нові дії.

Цей метод доступний лише для користувачів типу Admin і Super admin. Дозволи на виклик методу можна скасувати в налаштуваннях ролі користувача. Див. Ролі користувача для отримання додаткової інформації.

Параметри

(object/array) Дії для створення.

На додаток до стандартних властивостей дії, метод приймає наступні параметри.

Parameter Type Description
filter object Дія фільтр об’єкт для дії.
operations array Дія операції, щоб створити для дії.
recovery_operations array Дія операції відновлення, яку потрібно створити для дії.
update_operations array Дія операції оновлення, яку потрібно створити для дії.

Повернуті значення

(object) Повертає об’єкт, що містить ідентифікатори створених дій у властивості actionids. Порядок повернених ідентифікаторів відповідає порядку виконаних дій.

Приклади

Створіть тригерну дію

Створіть дію, яка виконуватиметься, коли тригер із хосту "10084", який містить слово "пам'ять" у своєму імені, переходить у стан проблеми. Дія повинна спочатку надіслати повідомлення всім користувачам у групі користувачів «7». Якщо подію не буде вирішено протягом 4 хвилин, буде запущено сценарій «3» на всіх хостах у групі «2». Під час відновлення тригера він сповістить усіх користувачів, які раніше отримували будь-які повідомлення щодо проблеми. Після оновлення тригера повідомлення з настроюваною темою та основним текстом буде надіслано всім, хто залишив підтвердження та коментарі через усі типи медіа.

Запит:

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Trigger action",
               "eventsource": 0,
               "status": 0,
               "esc_period": "2m",
               "filter": {
                   "evaltype": 0,
                   "conditions": [
                       {
                           "conditiontype": 1,
                           "operator": 0,
                           "value": "10084"
                       },
                       {
                           "conditiontype": 3,
                           "operator": 2,
                           "value": "memory"
                       }
                   ]
               },
               "operations": [
                   {
                       "operationtype": 0,
                       "esc_period": "0s",
                       "esc_step_from": 1,
                       "esc_step_to": 2,
                       "evaltype": 0,
                       "opmessage_grp": [
                           {
                               "usrgrpid": "7"
                           }
                       ],
                       "opmessage": {
                           "default_msg": 1,
                           "mediatypeid": "1"
                       }
                   },
                   {
                       "operationtype": 1,
                       "esc_step_from": 3,
                       "esc_step_to": 4,
                       "evaltype": 0,
                       "opconditions": [
                           {
                               "conditiontype": 14,
                               "operator": 0,
                               "value": "0"
                           }
                       ],
                       "opcommand_grp": [
                           {
                               "groupid": "2"
                           }
                       ],
                       "opcommand": {
                           "scriptid": "3"
                       }
                   }
               ],
               "recovery_operations": [
                   {
                       "operationtype": "11",
                       "opmessage": {
                           "default_msg": 1
                       }
                   }    
               ],
               "update_operations": [
                   {
                       "operationtype": "12",
                       "opmessage": {
                           "default_msg": 0,
                           "message": "Custom update operation message body",
                           "subject": "Custom update operation message subject"
                       }
                   }
               ],
               "pause_suppressed": "0",
               "notify_if_canceled": "0"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Відповідь:

{
           "jsonrpc": "2.0",
           "result": {
               "actionids": [
                   "17"
               ]
           },
           "id": 1
       }

Створити дію виявлення

Створіть дію, яка зв’яже виявлені хости з шаблоном «10001».

Запит:

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Discovery action",
               "eventsource": 1,
               "status": 0,
               "filter": {
                   "evaltype": 0,
                   "conditions": [
                       {
                           "conditiontype": 21,
                           "operator": 0,
                           "value": "1"
                       },
                       {
                           "conditiontype": 10,
                           "operator": 0,
                           "value": "2"
                       }
                   ]
               },
               "operations": [
                   {
                       "operationtype": 6,
                       "optemplate": [
                           {
                               "templateid": "10001"
                           }
                       ]
                   }
               ]
           },
           "id": 1
       }

Відповідь:

{
           "jsonrpc": "2.0",
           "result": {
               "actionids": [
                   "18"
               ]
           },
           "id": 1
       }

Використання спеціального фільтра виразів

Створіть дію тригера, яка використовує користувацький вираз - «A and (B or C)» - для оцінки умов дії. Як тільки тригер зі ступенем серйозності вище або дорівнює «Warning» з хоста «10084» або хоста «10106» перейде в стан ПРОБЛЕМА, дія надішле повідомлення всім користувачам групи користувачів «7» через тип медіа «1». Ідентифікатори формул «A», «B» і «C» обрано довільно.

Запит:

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Trigger action",
               "eventsource": 0,
               "status": 0,
               "esc_period": "15m",
               "filter": {
                   "evaltype": 3,
                   "formula": "A and (B or C)",
                   "conditions": [
                       {
                           "conditiontype": 4,
                           "operator": 5,
                           "value": "2",
                           "formulaid": "A"
                       },
                       {
                           "conditiontype": 1,
                           "operator": 0,
                           "value": "10084",
                           "formulaid": "B"
                       },
                       {
                           "conditiontype": 1,
                           "operator": 0,
                           "value": "10106",
                           "formulaid": "C"
                       }
                   ]
               },
               "operations": [
                   {
                       "operationtype": 0,
                       "esc_step_from": 1,
                       "esc_step_to": 1,
                       "opmessage_grp": [
                           {
                               "usrgrpid": "7"
                           }
                       ],
                       "opmessage": {
                           "default_msg": 1,
                           "mediatypeid": "1"
                       }
                   }
               ],
           },
           "id": 1
       }

Відповідь:

{
           "jsonrpc": "2.0",
           "result": {
               "actionids": [
                   "18"
               ]
           },
           "id": 1
       }

Створити правило автореєстрації агента

Створіть дію автореєстрації, яка додає хост до групи хостів «2», коли ім'я хоста містить «SRV» або метадані містять «AlmaLinux».

Запит:

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Register Linux servers",
               "eventsource": "2",
               "filter": {
                   "evaltype": "2",
                   "conditions": [
                       {
                           "conditiontype": "22",
                           "operator": "2",
                           "value": "SRV"
                       },
                       {
                           "conditiontype": "24",
                           "operator": "2",
                           "value": "AlmaLinux"
                       }
                   ]
               },
               "operations": [
                   {
                       "operationtype": "4",
                       "opgroup": [
                           {
                               "groupid": "2"
                           }
                       ]
                   }
               ]
           },
           "id": 1
       }

Відповідь:

{
           "jsonrpc": "2.0",
           "result": {
               "actionids": [
                   19
               ]
           },
           "id": 1
       }

Дивись також

Джерело

CAction::create() у ui/include/classes/api/services/CAction.php.