ru:manual:api:reference:action:create

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ru:manual:api:reference:action:create [2019/01/28 14:50]
sasha <code js> => <code java>
ru:manual:api:reference:action:create [2021/04/19 18:14]
Line 1: Line 1:
-===== action.create ===== 
  
-==== Описание ==== 
- 
-''​оъект action.create(объект/​массив **действия**)''​ 
- 
-Этот метод позволяет создавать новые действия. 
- 
-==== Параметры ==== 
- 
-''​(объект/​массив)''​ Создаваемые действия. 
- 
-В дополнение к [[object#​действие|стандартным свойствам действия]],​ этот метод принимает следующие параметры. 
- 
-^ Параметр ^ Тип ^ Описание ^ 
-| filter | объект | Объект фильтра действия для действия. | 
-| **operations** \\ (требуется) | массив | Создаваемые операции действия для действия. | 
-| recovery_operations | массив | Создаваемые операции о восстановлении для действия. | 
-| acknowledge_operations | массив | Создаваемые операции о подтверждении для действия. | 
- 
-==== Возвращаемые значения ==== 
- 
-''​(объект)''​ Возвращает объект,​ который содержит ID созданных действий под свойством ''​actionids''​. Порядок возвращаемых ID совпадает с порядком переданных действий. 
- 
-==== Примеры ==== 
- 
-=== Создание действия для триггеров === 
- 
-Создание действия,​ которое будет запущено,​ когда триггер с узла сети "​30045",​ который имеет слово "​memory"​ в своём имени, перейдёт в состояние проблемы. Действие сначала должно отправить сообщение всем пользователям из группы пользователей "​7"​. Если событие не решено за 4 минуты,​ действие выполнит скрипт "​3"​ на всех узлах сети из группы "​2"​. На восстановление триггера действие отправит оповещение всем пользователям,​ кто получал любые сообщения о проблеме ранее. На подтверждение триггера будет отправлено сообщение с пользовательской темой и сообщением всем, кто оставлял подтверждения и комментарии,​ при помощи всех типов способов оповещения. 
- 
-Запрос:​ 
-<code java> 
-<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 
-} 
-</​code>​ 
- 
-Ответ: 
-<code java> 
-{ 
-    "​jsonrpc":​ "​2.0",​ 
-    "​result":​ { 
-        "​actionids":​ [ 
-            "​17"​ 
-        ] 
-    }, 
-    "​id":​ 1 
-} 
-</​code>​ 
- 
-=== Создание действия на обнаружение === 
- 
-Создание действия,​ которое присоединит обнаруженные узлы сети к шаблону "​30085"​. 
- 
-Запрос:​ 
-<code java> 
-{ 
-    "​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 
-} 
-</​code>​ 
- 
-Ответ: 
-<code java> 
-{ 
-    "​jsonrpc":​ "​2.0",​ 
-    "​result":​ { 
-        "​actionids":​ [ 
-            "​18"​ 
-        ] 
-    }, 
-    "​id":​ 1 
-} 
-</​code>​ 
- 
-=== Использование фильтрации при помощи пользовательского выражения === 
- 
-Создание действия на триггеры,​ которое будет использовать пользовательское условие фильтрации. Действие должно отправлять сообщение по каждому триггеру с выжностью выше или идентичной ​ "​Предупреждению"​ по узлам сети "​10084"​ и "​10106"​. ID "​A",​ "​B"​ и "​C"​ в формуле были выбраны случайно. 
- 
-Запрос:​ 
-<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":​ 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 
-} 
-</​code>​ 
- 
-Ответ: 
-<code java> 
-{ 
-    "​jsonrpc":​ "​2.0",​ 
-    "​result":​ { 
-        "​actionids":​ [ 
-            "​18"​ 
-        ] 
-    }, 
-    "​id":​ 1 
-} 
-</​code>​ 
- 
-==== Смотрите также ==== 
- 
-  * [[object#​фильтр_действия|Фильтр действия]] 
-  * [[object#​операция_действия|Операция действия]] 
- 
-==== Исходный код ==== 
- 
-CAction::​create() в //​frontends/​php/​include/​classes/​api/​services/​CAction.php//​.