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


#1

Добрый день!

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

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

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


#2

Здесь описание
https://wiki.openitop.org/doku.php?id=2_0_3:admin:notifications

А здесь примеры


#3

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


#4

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


#5

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


#6

Есть частично переведенный HELP -


Он готовился под нашу организацию, так что некоторые пункты Вам не нужны.
Установка:

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

#7

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


#8

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


#9

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


#10

Кому 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


#11

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

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

Создаешь триггер - Триггер (при обновлении из портала)
Целевой класс - Запрос
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 (утверждающему, если запрос отправлен на утверждение)


#12

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


#13

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