action.create

Описание

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

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

Параметры

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

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

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

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

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

Примеры

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

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

Запрос:

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Trigger action",
               "eventsource": 0,
               "status": 0,
               "esc_period": 120,
               "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": 0,
                       "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"
                       }
                   }
               ]
           },
           "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": 0,
               "filter": {
                   "evaltype": 0,
                   "conditions": [
                       {
                           "conditiontype": 21,
                           "value": "1"
                       },
                       {
                           "conditiontype": 10,
                           "value": "2"
                       }
                   ]
               },
               "operations": [
                   {
                       "esc_step_from": 1,
                       "esc_period": 0,
                       "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": 120,
               "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": 0,
                       "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.