В OTRS есть эскалация.
Также есть возможность откладывать заявку (переводить её в статус pending reminder, например) до определённой даты.
Эта функция необходима, когда, например, происходит следующее:
Вариант 1:
а. Написал пользователь заявку на внесение модификаций в его рабочую станцию (например, добавить оперативы);
б. Доблестные админы обнаружили, что сегодня утром оператива на склдае закончилась, и ничего не остаётся делать, как заказывать новую и ждать доставки.
в. Поставщик объявляет сроки доставки необходимого железа.
г. Админы откладывают заявку до даты, определённой поставщиком оперативы.
В данном случае, если произойдёт эскалация данной заявки, это будет неправильно, т.к. (возможно) бухгалтерия не выделила вовремя деньги на закупку нового оборудования, или произошёл массовый приём новых сотрудников, благодаря чему что-то требуемое юзером в заявке (в данном случае это оперативная память) внезапно кончилось. И по большому счёту, этой эскалацией можно нарушить показатели подразделения доблестных администраторов. Нам это надо? Ни в коем случае.
Вариант 2:
Пользователя, оставившего заявку, нет на месте. Он заболел, а без его присутствия лезть в недры системника не представляется возможным.
В обоих вариантах, чтобы избежать эскалации подобной заявки, предусмотрена функция, позволяющая отложить выполнение заявки на определённый срок.
И вот мы с вами на радостях берём и переводим заявку в статус "Отложена" (или Pending reminder, тут кто какой язык юзает). А эскалация продолжает "тикать". То есть время до эскалирования заявки продолжает уменьшаться. А нам такое поведение системы надо? Совсем нет.
Решение проблемы:
Нам нужно установить и правильно настроить специальный add-on от znuny.com
Ребята из http://znuny.com запилили свой репозиторий расширений для OTRS.
Для того, чтобы пользоваться их замечательными аддонами, нам необходимо:
1. Соединение сервера с интернетом (если сервер находится за NAT-ом, можно открыть доступ на 10 минут и успеть всё сделать)
2. Скачать и установить руками пакет: http://portal.znuny.com/api/addon_repos/public/803 (так мы получаем доступ в репозиторий)
Теперь у нас в админке появился репозиторий, из которого ставим пакет Znuny4OTRS - Escalation suspend
После установки закрадывается впечатление, что всё уже должно работать. Но не работает. А почему?
В комплекте с этим пакетом идёт свой файл под названием znuny.RebuildEscalationIndexOnline.pl, расположенный в папке bin
Чтобы всё заработало как надо, этот файл необходимо добавить в cron, т.к. время до возобновления эскалации пересчитывается после запуска этого файла.
Логика работы этого аддона следующая:
Как только заявка переходит в один из указанных в админке статусов (/otrs/index.pl?Action=AdminSysConfig;Subaction=Edit;SysConfigSubGroup=EscalationSuspend;SysConfigGroup=Znuny4OTRS-EscalationSuspend), время до эскалации заявки продолжает уменьшаться. НО как только запустился этот файл, всё встаёт на свои места. И время до эскалации становится тем же, которое было перед обновлением статуса заявки.
Вот так у меня выглядит запись в crontab (запуск производится каждую минуту, в системе уже over 30 000 заявок, всё работает шустро):
Код: Выделить всё
# run a znuny addon's escalation time rebuilder
*/1 * * * * /usr/local/otrs/bin/znuny.RebuildEscalationIndexOnline.pl