# Научите пользоваться триггерами

**URL:** <http://community.itop-itsm.ru/t/nauchite-polzovatsya-triggerami/287>\
**Category:** Использование\
**Created:** [24.Декабрь.2015 04:01:35 UTC](http://community.itop-itsm.ru/t/nauchite-polzovatsya-triggerami/287 "2015-12-24T04:01:35Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![igsao10](http://community.itop-itsm.ru/user_avatar/community.itop-itsm.ru/igsao10/32/102_2.png) [@igsao10](http://community.itop-itsm.ru/u/igsao10)\
**Post date:** [24.Декабрь.2015 04:01:35 UTC](http://community.itop-itsm.ru/t/nauchite-polzovatsya-triggerami/287/1 "2015-12-24T04:01:35Z")

</div>

Добрый день!

Помогите понять, как работают триггеры:  
На начало состояния  
На окончание состояния  
Пороговое

Задача состоит в том, что нужно чтобы при изменении жизненного цикла(статуса) заявки на изменение, прилетало уведомление на почту. Т.е. если заявка переходит в статус:  
утверждено -\> срабатывание триггера, отправка сообщения об утверждении  
назначении -\> срабатывание триггера, отправка сообщения о назначении ответчтвенных  
планирование -\> срабатывание триггера,  
реализация -\> срабатывание триггера, уведомление о закрытие заявки

Каким из триггеров нужно воспользоваться?

---

<div class="post-metadata">

**Author:** ![iilitv](http://community.itop-itsm.ru/user_avatar/community.itop-itsm.ru/iilitv/32/72_2.png) [@iilitv](http://community.itop-itsm.ru/u/iilitv)\
**Post date:** [24.Декабрь.2015 06:09:09 UTC](http://community.itop-itsm.ru/t/nauchite-polzovatsya-triggerami/287/2 "2015-12-24T06:09:09Z")

</div>

Здесь описание  
[https://wiki.openitop.org/doku.php?id=2\_0\_3:admin:notifications](https://wiki.openitop.org/doku.php?id=2_0_3:admin:notifications)

А здесь примеры  
[https://cloud.mail.ru/public/6jSQ/EQ1M1ioLj](https://cloud.mail.ru/public/6jSQ/EQ1M1ioLj)

---

<div class="post-metadata">

**Author:** ![ragnarq4](http://community.itop-itsm.ru/letter_avatar_proxy/v4/letter/r/bb73d2/32.png) [@ragnarq4](http://community.itop-itsm.ru/u/ragnarq4)\
**Post date:** [21.Июнь.2016 08:27:41 UTC](http://community.itop-itsm.ru/t/nauchite-polzovatsya-triggerami/287/3 "2016-06-21T08:27:41Z")

</div>

А где можно найти эти чудесные примеры в полном не урезанном виде?

---

<div class="post-metadata">

**Author:** ![iilitv](http://community.itop-itsm.ru/user_avatar/community.itop-itsm.ru/iilitv/32/72_2.png) [@iilitv](http://community.itop-itsm.ru/u/iilitv)\
**Post date:** [22.Июнь.2016 05:27:32 UTC](http://community.itop-itsm.ru/t/nauchite-polzovatsya-triggerami/287/4 "2016-06-22T05:27:32Z")

</div>

Каждый создает триггеры и уведомления под себя. Что Вы подразумеваете под примерами в полном виде?  
Создается триггер на определенное действие, на определенный класс, его состояние, если необходимо - фильтр. К нему прикрепляется уведомления. Примеры - см. выше.

---

<div class="post-metadata">

**Author:** ![ragnarq4](http://community.itop-itsm.ru/letter_avatar_proxy/v4/letter/r/bb73d2/32.png) [@ragnarq4](http://community.itop-itsm.ru/u/ragnarq4)\
**Post date:** [22.Июнь.2016 05:37:50 UTC](http://community.itop-itsm.ru/t/nauchite-polzovatsya-triggerami/287/5 "2016-06-22T05:37:50Z")

</div>

Примеры предоставлены в виде части некого большого html хелпера по iTop, я второй день изучаю iTop и мне ОЧЕНЬ интересно было бы почитать этот хелпер целиком, а где его взять я не знаю. Если дадите ссылку вышлите или любым другим способом был бы признателен!

---

<div class="post-metadata">

**Author:** ![iilitv](http://community.itop-itsm.ru/user_avatar/community.itop-itsm.ru/iilitv/32/72_2.png) [@iilitv](http://community.itop-itsm.ru/u/iilitv)\
**Post date:** [23.Июнь.2016 07:59:27 UTC](http://community.itop-itsm.ru/t/nauchite-polzovatsya-triggerami/287/6 "2016-06-23T07:59:27Z")

</div>

Есть частично переведенный HELP -  
[https://cloud.mail.ru/public/2bNs/BXtZigD7L](https://cloud.mail.ru/public/2bNs/BXtZigD7L)  
Он готовился под нашу организацию, так что некоторые пункты Вам не нужны.  
Установка:

1. Создайте в папке, где находится ITop, папку (например doc).
2. Раскройте туда архив.
3. Зайдите “Инструменты админа” → “Configuration”.
4. Найдите  
// online\_help: Hyperlink to the online-help web page  
// default: ‘[What is iTop [iTop Documentation]](http://www.combodo.com/itop-help)’
5. Замените строку "‘online\_help’ =\> " на :  
‘online\_help’ =\> ‘[http://ваш.itop/doc](http://xn--80ad1e.itop/doc)’,
6. Нажмите “Aplay”
7. Перезагрузите страницу.
8. Нажмите на “Помощь” в правом верхнем углу.

---

<div class="post-metadata">

**Author:** ![ragnarq4](http://community.itop-itsm.ru/letter_avatar_proxy/v4/letter/r/bb73d2/32.png) [@ragnarq4](http://community.itop-itsm.ru/u/ragnarq4)\
**Post date:** [24.Июнь.2016 11:07:38 UTC](http://community.itop-itsm.ru/t/nauchite-polzovatsya-triggerami/287/7 "2016-06-24T11:07:38Z")

</div>

гиганское вам спасибо!

---

<div class="post-metadata">

**Author:** ![Aleksandr\_Kononov](http://community.itop-itsm.ru/letter_avatar_proxy/v4/letter/a/ebca7d/32.png) [@Aleksandr\_Kononov](http://community.itop-itsm.ru/u/Aleksandr_Kononov)\
**Post date:** [13.Апрель.2017 14:00:04 UTC](http://community.itop-itsm.ru/t/nauchite-polzovatsya-triggerami/287/8 "2017-04-13T14:00:04Z")

</div>

> [@iilitv](#):
>
> А здесь примеры[https://cloud.mail.ru/public/6jSQ/EQ1M1ioLj](https://cloud.mail.ru/public/6jSQ/EQ1M1ioLj)

Подскажите триггер который вы используете вот для этого уведомления:  
“Запрос обновлен из портала (назначен)”.

---

<div class="post-metadata">

**Author:** ![Aleksandr\_Kononov](http://community.itop-itsm.ru/letter_avatar_proxy/v4/letter/a/ebca7d/32.png) [@Aleksandr\_Kononov](http://community.itop-itsm.ru/u/Aleksandr_Kononov)\
**Post date:** [14.Апрель.2017 05:00:12 UTC](http://community.itop-itsm.ru/t/nauchite-polzovatsya-triggerami/287/9 "2017-04-14T05:00:12Z")

</div>

У меня собственно такая проблема. Модуль “Email Reply” шлет письма при изменении общего журнала агентом, но если лог поменял сам пользователь, то агенту ничего не приходит (в этом уведомлении я использую стандартный триггер, созданный модулем User Request public log update без Фильтра OQL). Так вот, что нужно прописать в фильтре oql, чтобы агенту приходили уведомления об изменении журнала самим клиентом?

---

<div class="post-metadata">

**Author:** ![iilitv](http://community.itop-itsm.ru/user_avatar/community.itop-itsm.ru/iilitv/32/72_2.png) [@iilitv](http://community.itop-itsm.ru/u/iilitv)\
**Post date:** [14.Апрель.2017 05:09:01 UTC](http://community.itop-itsm.ru/t/nauchite-polzovatsya-triggerami/287/10 "2017-04-14T05:09:01Z")

</div>

Кому SELECT Person WHERE id= :this-\>caller\_id

Копия SELECT Contact AS c JOIN lnkContactToTicket AS l1 ON l1.contact\_id = c.id WHERE l1.ticket\_ref = :this-\>ref

---

<div class="post-metadata">

**Author:** ![iilitv](http://community.itop-itsm.ru/user_avatar/community.itop-itsm.ru/iilitv/32/72_2.png) [@iilitv](http://community.itop-itsm.ru/u/iilitv)\
**Post date:** [14.Апрель.2017 05:23:53 UTC](http://community.itop-itsm.ru/t/nauchite-polzovatsya-triggerami/287/11 "2017-04-14T05:23:53Z")

</div>

Извини. Это немного не то.  
Это при общении с другими агентами.

По твоему вопросу:

Создаешь триггер - Триггер (при обновлении из портала)  
Целевой класс - Запрос  
OQL фильтр - SELECT UserRequest WHERE status != ‘closed’ AND status = ‘assigned’ (когда запрос назначен)

В действиях триггера:  
Кому SELECT Person WHERE id = :this-\>agent\_id

Если запрос еще не назначен, а пользователь что-то записал в общем журнале, то создаешь еще один триггер - Триггер (при обновлении из портала)  
OQL фильтр - SELECT UserRequest WHERE status != ‘closed’ AND status != ‘assigned’ (не назначен)

В действиях триггера:  
Кому SELECT Contact AS c JOIN lnkContactToService AS l1 ON l1.contact\_id = c.id WHERE l1.service\_id = :this-\>service\_id (всем Агентам, которые отвечают за этот Сервис)

Копия SELECT Person WHERE id = :this-\>approver\_id AND :this-\>status = ‘waiting\_for\_approval’ AND :this-\>approver\_id != :current\_contact\_id (утверждающему, если запрос отправлен на утверждение)

---

<div class="post-metadata">

**Author:** ![Aleksandr\_Kononov](http://community.itop-itsm.ru/letter_avatar_proxy/v4/letter/a/ebca7d/32.png) [@Aleksandr\_Kononov](http://community.itop-itsm.ru/u/Aleksandr_Kononov)\
**Post date:** [14.Апрель.2017 05:52:07 UTC](http://community.itop-itsm.ru/t/nauchite-polzovatsya-triggerami/287/12 "2017-04-14T05:52:07Z")

</div>

Большое спасибо, вся проблема была в трудности перевода 🙂.  
Триггер (на обновление журнала) - изменение журнала агентом.  
Триггер (при обновлении из портала) - изменение журнала пользователем.  
OQL фильтры также сработали как надо.

---

<div class="post-metadata">

**Author:** ![NisSon](http://community.itop-itsm.ru/user_avatar/community.itop-itsm.ru/nisson/32/117_2.png) [@NisSon](http://community.itop-itsm.ru/u/NisSon)\
**Post date:** [22.Декабрь.2017 06:08:05 UTC](http://community.itop-itsm.ru/t/nauchite-polzovatsya-triggerami/287/13 "2017-12-22T06:08:05Z")

</div>

Добрый день.  
А есть ли разница в логике, если лог общего журнала был изменён пользователем через портал и через обновление инцидента с почты?
