Автоматизация: пусть рутину делает робот, а не ты
В прошлых модулях ты всё делал руками: заводил задачи, менял статусы, писал одинаковые комментарии. Пора переложить это на Трекер. Сегодня собираем триггеры, автодействия, макросы, шаблоны и SLA-таймеры: без единой строчки кода.
После модуля ты умеешь
- За 10 секунд выбирать нужный механизм: триггер, автодействие, макрос или шаблон
- Собирать триггер из условия и действия: «статус сменился, робот написал комментарий»
- Настраивать автодействие по расписанию, которое само находит зависшие задачи
- Отвечать на типовые вопросы одной кнопкой и заводить типовые задачи из шаблона
- Ставить SLA-таймеры на время реакции и решения и понимать, что будет при просрочке
Карта автоматизации: четыре механизма и таймер сверху
В Трекере несколько инструментов автоматизации, и новички их вечно путают. Разница на самом деле простая: кто и когда нажимает на курок.
| Механизм | Кто запускает | Когда использовать | Пример |
|---|---|---|---|
| Триггер | Трекер, мгновенно, по событию в задаче | «Когда в задаче что-то произошло, сразу сделай то-то» | Статус сменился: назначить исполнителя и написать комментарий |
| Автодействие | Трекер, по расписанию, по фильтру | «Регулярно проверяй задачи и делай то-то с подходящими» | Раз в день будить задачи, которые висят без движения |
| Макрос | Человек, кнопкой на странице задачи | «Надоело печатать один и тот же ответ и щёлкать одни и те же поля» | Типовой ответ клиенту плюс нужные поля в один клик |
| Шаблон | Человек, при создании задачи | «Надоело заполнять одни и те же 10 полей в типовой задаче» | Задача закупки заводится за 10 секунд |
| Правило SLA | Трекер, таймер по рабочему графику | «Следи, укладываемся ли мы в сроки реакции и решения» | 4 часа на первую реакцию по заявке клиента |
Запомнить легко: триггер реагирует на событие, автодействие ходит по расписанию, макрос ждёт твоего клика, шаблон экономит время на создании, SLA просто тикает и жалуется, когда вы не успеваете.
Где всё это живёт: триггеры, автодействия и макросы настраиваются в очереди, в настройках очереди есть раздел Автоматизация. Шаблоны лежат отдельно: левая панель, Настройки → Шаблоны. Правила SLA: своя вкладка Правила SLA в настройках очереди. Для всего этого нужны права на изменение настроек очереди, у владельца очереди они есть по умолчанию.
Триггер по шагам: событие рождает действие
Соберём триггер из задания: как только задачу переводят в статус «Требуется информация», Трекер сам возвращает её автору и пишет комментарий. Никто не забыт, ничто не зависло.
-
Открой очередь и в правом верхнем углу нажми Настройки очереди
Напомню из модуля 3: настройки очереди видят и меняют не все, а те, у кого есть соответствующие права. Если кнопки нет, попроси владельца очереди.
-
На левой панели выбери раздел Автоматизация
Здесь живут все триггеры, автодействия и макросы очереди. В одну очередь можно добавить до 1000 триггеров, так что за лимит не переживай.
-
Нажми Создать → Триггер и назови его понятно: «Вернуть автору за информацией»
Название пиши так, чтобы через полгода было ясно, что делает этот триггер и зачем. «Триггер 1» через полгода не скажет тебе ничего.
-
В блоке При условии собери условие: параметр Статус, операция Стало равно, значение «Требуется информация»
«Стало равно» означает: значение изменилось, и новое совпадает с заданным. Условий может быть несколько, они объединяются через И или ИЛИ, можно собирать вложенные группы. Кроме смены полей триггер умеет реагировать на комментарии, связи, состояние чеклиста и даже на превышение лимитов SLA.
-
В блоке Выполнить действия добавь действие Изменить значение поля: поле Исполнитель, режим Установить значение
Смысл приёма: раз задаче не хватает информации, она возвращается к тому, кто её завёл. В Котолавке заказы заводит Ира, её и выбираем. Если авторов у задач много и одним человеком не обойтись, положись на следующий шаг: комментарий с переменной позовёт автора по имени.
-
Добавь второе действие Добавить комментарий к задаче с текстом: «{{issue.author}}, задаче не хватает информации. Ответь в комментариях, и мы вернём её в работу»
Конструкция в фигурных скобках: переменная, при срабатывании Трекер подставит вместо неё автора задачи. Вручную синтаксис запоминать не надо, в блоке действия есть кнопка добавления переменной со списком полей. Включи опцию «Отправлять от имени робота», иначе автором комментария будет тот, кто случайно дёрнул триггер сменой статуса.
-
Нажми Создать и проверь на тестовой задаче: заведи её, переведи в «Требуется информация» и смотри
Исполнитель сменился, комментарий появился, и всё это за доли секунды после смены статуса. Вот в этом «мгновенно после события» вся суть триггера.
Автодействия: робот ходит по расписанию
У триггера есть слабое место: ему нужно событие. А если в задаче ничего не происходит, то и событий нет. Задача просто молчит, и молчать может неделями. Тут выходит автодействие: оно не ждёт событий, а само по расписанию прочёсывает очередь фильтром и обрабатывает всё, что нашло.
Соберём классику жанра: каждое утро находить задачи, которые не обновлялись 2 дня, и писать в них комментарий с призывом исполнителя.
-
В настройках очереди открой Автоматизация и нажми Создать → Автодействие, тип Обновление задач
Второй тип, создание задач по расписанию, разберём в модуле 9, когда будем делать повторяющуюся закупку.
-
Назови «Будильник зависших задач» и в графике срабатывания поставь периодичность: раз в 1 день
Периодичность задаётся в часах или днях. Хочешь утренних срабатываний: заводи автодействие утром, отсчёт пойдёт от этого момента. На время отладки включи «Отправлять уведомление при каждом срабатывании», чтобы видеть, что робот жив.
-
В отборе задач выбери Когда задача соответствует QL-запросу и вставь:
Queue: KOT Resolution: empty() Updated: < now() - 2dЧитается так: очередь KOT, резолюции нет (задача ещё не закрыта), последнее обновление раньше, чем 2 дня назад. Язык запросов ты уже щупал в модуле 5. Если запросы пока пугают, рядом есть режим попроще: «Когда задача соответствует условию», там параметры выбираются из списков.
-
В блоке Выполнить действия добавь Добавить комментарий: «{{issue.assignee}}, задача молчит уже два дня. Обнови статус или напиши, что мешает»
Переменная подставит исполнителя каждой найденной задачи. Действия здесь те же, что у триггеров: сменить статус, изменить поля, посчитать формулу, даже отправить HTTP-запрос во внешнюю систему.
-
Нажми Создать автодействие и оставь тестовую задачу полежать
В разделе Автоматизация у каждого автодействия есть история срабатываний и переключатель: можно выключить робота, не удаляя его.
Главная ошибка автоматизаторов: спам от робота. Поставишь автодействию периодичность «раз в час», и к обеду команда возненавидит и робота, и тебя, а уведомления Трекера отправит в игнор. Правило: комментарий-напоминание не чаще раза в день, любой новый триггер и автодействие сначала обкатывай на тестовой задаче и только потом выпускай на живую очередь.
Макросы: типовой ответ одной кнопкой
Триггеры и автодействия работают сами. Макрос наоборот: это заготовленный набор операций, который человек запускает вручную на странице задачи. Идеален для типовых ответов: Ира двадцать раз в день пишет клиентам «ждём вашего решения» и проставляет одни и те же поля. Двадцать раз по минуте, а можно двадцать раз по секунде.
-
В настройках очереди открой Автоматизация, нажми Создать → Макрос и назови его «Ждём клиента»
Название увидит вся команда в списке макросов, поэтому называй как кнопку: коротко и по действию.
-
В блоке При запуске макроса впиши текст комментария: «Написали клиенту по задаче {{issue.key}}, ждём ответ. Вернём в работу после его решения»
Переменные и здесь работают: кнопка добавления переменной подставит номер задачи, имя клиента из поля, что угодно. Текст перед отправкой можно будет подредактировать, макрос лишь заготовка, а не приговор.
-
В блоке Изменить значение в поле добавь поля, которые надо проставить: например, тег «ждём-клиента»
Одним нажатием изменится всё сразу: комментарий плюс поля. Именно за это макросы и любят.
-
Нажми Создать макрос, открой любую задачу и щёлкни в поле комментария: в форме комментария появился выбор макросов
Выбираешь «Ждём клиента», Трекер подставляет текст и изменения полей, проверяешь и отправляешь. Запускать макрос может любой, у кого есть право изменять задачу, так что вся команда получает кнопку, а не только автор макроса.
Шаблоны задач: типовая задача за 10 секунд
Если макрос экономит время на ответах, то шаблон на создании задач. Типовая задача вроде закупки у поставщика: одинаковый тип, исполнитель, компоненты и описание со списком дел. Заполнять это руками каждую неделю обидно.
-
На левой панели нажми Настройки → Шаблоны
Или сразу открой tracker.yandex.ru/settings/templates. Заметь: шаблоны живут не в настройках очереди, а в общих настройках, но видимость шаблона можно ограничить конкретной очередью.
-
Нажми Создать → Шаблон задачи и назови его «Закупка у поставщика»
Кроме шаблонов задач бывают шаблоны комментариев: та же идея, но для повторяющихся ответов, ещё один родственник макроса.
-
Заполни поля так же, как при создании обычной задачи: очередь KOT, тип «Закупка», исполнитель, а в описание положи список дел закупки
Всё, что заполнишь в шаблоне, будет подставляться в каждую новую задачу. Поля созданной из шаблона задачи спокойно редактируются: шаблон это старт, а не клетка.
-
Нажми Сохранить. Теперь при создании задачи нажми в форме Применить шаблон и выбери «Закупка у поставщика»
Кнопка находится в правом верхнем углу формы создания задачи, рядом же «Управление шаблонами». Десять секунд: применил, поправил название, создал.
Трюк: шаблон плюс триггер с чеклистом. Отдельного блока чеклиста в шаблоне нет, но среди действий триггера есть Создать чеклист. Свяжи их: шаблон заводит задачу типа «Закупка», а триггер по условию «тип задачи: Закупка» сам добавляет в неё пункты чеклиста. Задача рождается уже с планом работ, и никто ничего не забыл.
SLA-таймеры: время реакции и время решения
SLA в Трекере: набор правил, которые ставят таймеры на обработку задач. Клиент написал, а ему сутки не отвечают? Без таймера ты узнаешь об этом из гневного отзыва. С таймером: из предупреждения Трекера, пока ещё можно всё спасти.
Классическая пара правил:
- Время реакции: от появления задачи до первого движения. Старт таймера «Создана задача», остановка «Задача переведена в статус В работе». Например, 4 часа.
- Время решения: от появления задачи до результата. Старт тот же, остановка «Выбрана резолюция». Например, 2 дня.
Настраивается так: в настройках очереди открой вкладку Правила SLA и нажми Создать правило. Внутри правила:
- График работы: таймер тикает только в рабочие часы. Задача, созданная в пятницу вечером, не сгорит за выходные: в нерабочее время отсчёт стоит, а в праздники таймеры системных графиков не идут вовсе.
- Группа задач: условия, к каким задачам правило применяется. Например, только к типу «Заказ».
- Время до предупреждения и время на выполнение: в формате часов и минут. Предупреждение: жёлтая зона, время ещё есть. Выполнение: дедлайн.
- Старт, пауза и остановка таймера: старт «Создана задача» или «Назначен исполнитель», пауза, например, на статусе «Ждём ответа клиента» (нечестно жечь таймер исполнителя, пока молчит клиент), остановка по статусу или резолюции.
Что происходит при нарушении: в блоках «Предупреждения» и «Срыв срока» выбери Отправить письмо и укажи получателей, и Трекер сам сообщит о жёлтой зоне и о просрочке. В самой задаче виден таймер SLA, так что исполнитель следит за временем без калькулятора. А для жёсткой эскалации вспомни триггеры: среди условий есть «Превышение лимитов SLA», можно автоматически поднять приоритет или позвать руководителя.
Ограничения, чтобы не удивляться: на очередь не больше 30 правил SLA, и правило работает только с задачами, созданными после его включения, задним числом таймеры не появятся.
Оля увольняется с должности живого будильника
После пятого модуля у Оли есть дашборд, и она видит зависшие заказы. Проблема в том, что видит их только она, и каждое утро вручную пинает Макса и Иру. В прошлой серии Трекер показывал, теперь он будет действовать.
- Делаем
- Три настройки за один вечер. Первая: страж зависших заказов. Заказ молчит два дня: это не событие, а его отсутствие, значит нужен не триггер, а автодействие. Оля открывает настройки очереди KOT, раздел Автоматизация, создаёт автодействие «Заказ без движения 2 дня»: раз в 1 день, отбор по QL-запросу
Queue: KOT Type: Заказ Resolution: empty() Updated: < now() - 2d, действия: комментарий от имени робота «{{issue.assignee}}, заказ висит без движения два дня. Что мешает?» плюс «Изменить значение поля»: в Наблюдатели добавить Олю. Это и есть эскалация: молчащий заказ сам приходит к владелице на глаза. Вторая: шаблон «Закупка у поставщика» с типом «Закупка», исполнителем Максом и списком дел из серии 2: проверить остатки, составить заявку, согласовать счёт, оплатить, принять поставку. Третья: макрос «Ждём клиента» для Иры: комментарий «Написали клиенту, ждём ответ» плюс тег «ждём-клиента». - Видим
- Тестовый заказ полежал два дня, и утром в нём комментарий робота с призывом Макса, а Оля появилась в наблюдателях и получила уведомление. Новая закупка заводится через «Применить шаблон» за 10 секунд вместо пяти минут. Ира на типовой вопрос клиента отвечает одной кнопкой из формы комментария.
- Контролируем
- Неделя испытаний. Метрика простая: фильтр из пятого модуля «без движения 2 дня» по утрам пуст, потому что робот всех разбудил ещё вчера, и ни один заказ за неделю не завис молча. Запасная проверка: история срабатываний автодействия в разделе Автоматизация, Оля видит, сколько задач робот поймал за неделю.
- Получаем
- Оля больше не тратит утро на пинки: рутинный контроль забрал робот, эскалация приходит сама и только по делу. Ира экономит минуты на каждом ответе, Макс не заполняет одни и те же поля закупки. Внимание людей уходит на клиентов и котов, а не на дежурство по очереди.
Как это у нас в TREK
У нас часть автоматики живёт снаружи Трекера. Сол (Гермес) перед заведением задачи сверяется со списком открытых задач очереди TREK, чтобы не плодить дубли, а по вечерам шлёт отчёты за день в топики рабочей группы. То есть роль «триггеров на входе» и «вечернего автодействия» у нас исполняет бот.
А вот внутри Трекера напрашиваются ровно те механизмы из этого модуля: автодействие «задачи без движения N дней» (в очереди хватает задач с долгим циклом, тот же TREK-15 с транскрибацией звонков за год легко замолкает на неделю) и шаблон для повторяющихся отчётов вроде TREK-23, еженедельного отчёта по команде RS Team: каждую неделю одна и та же шапка, поля и структура. Настроишь после этого модуля: команда скажет спасибо.
Чек-лист: что должно получиться
- В очереди есть триггер, и ты видел его срабатывание на тестовой задаче
- Автодействие по расписанию нашло задачу фильтром и написало комментарий
- Типовой ответ оформлен макросом, и запускается он из формы комментария
- Типовая задача заводится из шаблона через «Применить шаблон» быстрее, чем за минуту
- Есть правило SLA с временем реакции, и ты знаешь, кому придёт письмо при просрочке
Мини-тест: 5 вопросов, без занудства
Ошибиться не страшно: под неправильным ответом появится подсказка, куда посмотреть.
1. Ира каждое утро вручную ищет заказы, по которым два дня никто ничего не писал, и напоминает о них коллегам. Каким механизмом это заменить?
Именно. Тишина: это не событие, тут нужен обход по расписанию.2. Ира по двадцать раз в день пишет клиентам один и тот же ответ и проставляет один и тот же тег. Что настроить?
Да. Двадцать раз по секунде вместо двадцати раз по минуте.3. Нужно: как только задачу переводят в «Требуется информация», она сама возвращается автору с комментарием. Что выбрать?
Верно. Смена статуса: событие, а на события реагирует триггер, мгновенно.4. Оля включила правило SLA «реакция за 4 часа» и в пятницу в 19:00 создала тестовую задачу. В понедельник утром таймер даже не начал гореть. Почему?
Точно. Выходные таймеру не засчитываются, всё честно.5. Макс каждую неделю заводит одинаковую задачу закупки и руками заполняет десяток полей. Самый быстрый путь?
Да. Десять секунд: применил шаблон, поправил, создал.