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

action.create

Описание

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

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

Этот метод доступен только типам пользователей Admin и Super admin. Разрешение на использование данного метода можно отозвать в настройках роли пользователя. Подробнее смотрите Роли пользователей

Parameters

(object/array) Действия для создания.

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

Parameter Type Description
filter object Action filter объект для действия.
operations array Action operations, созданиедля действия.
recovery_operations array Action recovery operations, создание для действия.
update_operations array Action update operations, создание для действия.

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

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

Примеры

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

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

Request:

{
        · "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
       }

Response:

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

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

Создать действие, которое свяжет обнаруженные узлы сети с шаблоном "10091"

Request:

{
        · "jsonrpc": "2.0",
        · "method": "action.create",
        · "params": {
        · "name": "Discovery action",
        · "- "event source": 1,
        · "status": 0,
        · "filter": {
        · "- "eval type": 0,
        · "conditions": [
        · {
        · "- "condition type": 21,
        · "operator": 0,
        · "value": "1"
        · },
        · {
        · "- "condition type": 10,
        · "operator": 0,
        · "value": "2"
        · }
        · ]
        · },
        · "operations": [
        · {
        · "- "operation type": 6,
        · "optemplate": [
        · {
        · "- "template id": "10091"
        · }
        · ]
        · }
        · ]
        · },
        · "auth": "038e1d7b1735c6a5436ee9eae095879e",
        · "id": 1
       }

Response:

{
        · "jsonrpc": "2.0",
        · "result": {
        · "- "action ids": [
        · "18"
        · ]
        · },
        · "id": 1
       }

Использование пользовательского фильтра выражений

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

Request:

{
        · "jsonrpc": "2.0",
        · "method": "action.create",
        · "params": {
        · "name": "Trigger action",
        · "eventsource": 0,
        · "status": 0,
        · "esc_period": "2m",
        · "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"
        · }
        · }
        · ],
        · "pause_suppressed": "0",
        · "notify_if_canceled": "0"
        · },
        · "auth": "038e1d7b1735c6a5436ee9eae095879e",
        · "id": 1
       }

Response:

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

Создание правила автоматической регистрации агента

Добавьте узел сети в группу хостов "Linux servers", если имя узла сети содержит "SRV" или метаданные содержат "CentOS".

Request:

{
        · "jsonrpc": "2.0",
        · "method": "action.create",
        · "params": {
        · "name": "Register Linux servers",
        · "- "event source": "2",
        · "status": "0",
        · "filter": {
        · "- "eval type": "2",
        · "conditions": [
        · {
        · "- "condition type": "22",
        · "operator": "2",
        · "value": "SRV"
        · },
        · {
        · "- "condition type": "24",
        · "operator": "2",
        · "value": "CentOS"
        · }
        · ]
        · },
        · "operations": [
        · {
        · "- "operation type": "4",
        · "- "optgroup": [
        · {
        · "groupid": "2"
        · }
        · ]
        · }
        · ]
        · },
        · "auth": "038e1d7b1735c6a5436ee9eae095879e",
        · "id": 1
       }

Response:

{
        · "jsonrpc": "2.0",
        · "result": {
        · "- "action ids": [
        · 19
        · ]
        · },
        · "id": 1
       }

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

Исходный код

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