action.create

Описание

оъект action.create(объект/массив действия)

Этот метод позволяет создавать новые действия.

Параметры

(объект/массив) Создаваемые действия.

В дополнение к стандартным свойствам действия, этот метод принимает следующие параметры.

Параметр Тип Описание
filter объект Объект фильтра действия для действия.
operations
(требуется)
массив Создаваемые операции действия для действия.
recovery_operations массив Создаваемые операции о восстановлении для действия.
acknowledge_operations массив Создаваемые операции о подтверждении для действия.

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

(объект) Возвращает объект, который содержит ID созданных действий под свойством actionids. Порядок возвращаемых ID совпадает с порядком переданных действий.

Примеры

Создание действия для триггеров

Создание действия, которое будет запущено, когда триггер с узла сети "30045", который имеет слово "memory" в своём имени, перейдёт в состояние проблемы. Действие сначала должно отправить сообщение всем пользователям из группы пользователей "7". Если событие не решено за 4 минуты, действие выполнит скрипт "3" на всех узлах сети из группы "2". На восстановление триггера действие отправит оповещение всем пользователям, кто получал любые сообщения о проблеме ранее. На подтверждение триггера будет отправлено сообщение с пользовательской темой и сообщением всем, кто оставлял подтверждения и комментарии, при помощи всех типов способов оповещения.

Запрос:

<code java>
       {
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Trigger action",
               "eventsource": 0,
               "status": 0,
               "esc_period": "2m",
               "def_shortdata": "{TRIGGER.NAME}: {TRIGGER.STATUS}",
               "def_longdata": "{TRIGGER.NAME}: {TRIGGER.STATUS}\r\nLast value: {ITEM.LASTVALUE}\r\n\r\n{TRIGGER.URL}",
               "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": {
                           "type": 4,
                           "scriptid": "3"
                       }
                   }
               ],
               "recovery_operations": [
                   {
                       "operationtype": "11",
                       "opmessage": {
                           "default_msg": 1
                       }
                   }       
               ],
               "acknowledge_operations": [
                   {
                       "operationtype": "12",
                       "opmessage": {
                           "message": "Custom acknowledge operation message body",
                           "subject": "Custom acknowledge operation message subject"
                       }
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

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

Создание действия на обнаружение

Создание действия, которое присоединит обнаруженные узлы сети к шаблону "30085".

Запрос:

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Discovery action",
               "eventsource": 1,
               "status": 0,
               "esc_period": "0s",
               "filter": {
                   "evaltype": 0,
                   "conditions": [
                       {
                           "conditiontype": 21,
                           "value": "1"
                       },
                       {
                           "conditiontype": 10,
                           "value": "2"
                       }
                   ]
               },
               "operations": [
                   {
                       "esc_step_from": 1,
                       "esc_period": "0s",
                       "optemplate": [
                           {
                               "templateid": "10091"
                           }
                       ],
                       "operationtype": 6,
                       "esc_step_to": 1
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

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

Использование фильтрации при помощи пользовательского выражения

Создание действия на триггеры, которое будет использовать пользовательское условие фильтрации. Действие должно отправлять сообщение по каждому триггеру с выжностью выше или идентичной "Предупреждению" по узлам сети "10084" и "10106". ID "A", "B" и "C" в формуле были выбраны случайно.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Trigger action",
               "eventsource": 0,
               "status": 0,
               "esc_period": "2m",
               "def_shortdata": "{TRIGGER.NAME}: {TRIGGER.STATUS}",
               "def_longdata": "{TRIGGER.NAME}: {TRIGGER.STATUS}\r\nLast value: {ITEM.LASTVALUE}\r\n\r\n{TRIGGER.URL}",
               "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_period": "0s",
                       "esc_step_from": 1,
                       "esc_step_to": 2,
                       "evaltype": 0,
                       "opmessage_grp": [
                           {
                               "usrgrpid": "7"
                           }
                       ],
                       "opmessage": {
                           "default_msg": 1,
                           "mediatypeid": "1"
                       }
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

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

Смотрите также

Исходный код

CAction::create() в frontends/php/include/classes/api/services/CAction.php.