Модуль 6 · Уровень: продвинутый

Автоматизация: пусть рутину делает робот, а не ты

В прошлых модулях ты всё делал руками: заводил задачи, менял статусы, писал одинаковые комментарии. Пора переложить это на Трекер. Сегодня собираем триггеры, автодействия, макросы, шаблоны и SLA-таймеры: без единой строчки кода.

После модуля ты умеешь

Карта автоматизации: четыре механизма и таймер сверху

В Трекере несколько инструментов автоматизации, и новички их вечно путают. Разница на самом деле простая: кто и когда нажимает на курок.

МеханизмКто запускаетКогда использоватьПример
ТриггерТрекер, мгновенно, по событию в задаче«Когда в задаче что-то произошло, сразу сделай то-то»Статус сменился: назначить исполнителя и написать комментарий
АвтодействиеТрекер, по расписанию, по фильтру«Регулярно проверяй задачи и делай то-то с подходящими»Раз в день будить задачи, которые висят без движения
МакросЧеловек, кнопкой на странице задачи«Надоело печатать один и тот же ответ и щёлкать одни и те же поля»Типовой ответ клиенту плюс нужные поля в один клик
ШаблонЧеловек, при создании задачи«Надоело заполнять одни и те же 10 полей в типовой задаче»Задача закупки заводится за 10 секунд
Правило SLAТрекер, таймер по рабочему графику«Следи, укладываемся ли мы в сроки реакции и решения»4 часа на первую реакцию по заявке клиента

Запомнить легко: триггер реагирует на событие, автодействие ходит по расписанию, макрос ждёт твоего клика, шаблон экономит время на создании, SLA просто тикает и жалуется, когда вы не успеваете.

Где всё это живёт: триггеры, автодействия и макросы настраиваются в очереди, в настройках очереди есть раздел Автоматизация. Шаблоны лежат отдельно: левая панель, НастройкиШаблоны. Правила SLA: своя вкладка Правила SLA в настройках очереди. Для всего этого нужны права на изменение настроек очереди, у владельца очереди они есть по умолчанию.

Триггер по шагам: событие рождает действие

Соберём триггер из задания: как только задачу переводят в статус «Требуется информация», Трекер сам возвращает её автору и пишет комментарий. Никто не забыт, ничто не зависло.

  1. Открой очередь и в правом верхнем углу нажми Настройки очереди

    Напомню из модуля 3: настройки очереди видят и меняют не все, а те, у кого есть соответствующие права. Если кнопки нет, попроси владельца очереди.

  2. На левой панели выбери раздел Автоматизация

    Здесь живут все триггеры, автодействия и макросы очереди. В одну очередь можно добавить до 1000 триггеров, так что за лимит не переживай.

  3. Нажми СоздатьТриггер и назови его понятно: «Вернуть автору за информацией»

    Название пиши так, чтобы через полгода было ясно, что делает этот триггер и зачем. «Триггер 1» через полгода не скажет тебе ничего.

  4. В блоке При условии собери условие: параметр Статус, операция Стало равно, значение «Требуется информация»

    «Стало равно» означает: значение изменилось, и новое совпадает с заданным. Условий может быть несколько, они объединяются через И или ИЛИ, можно собирать вложенные группы. Кроме смены полей триггер умеет реагировать на комментарии, связи, состояние чеклиста и даже на превышение лимитов SLA.

  5. В блоке Выполнить действия добавь действие Изменить значение поля: поле Исполнитель, режим Установить значение

    Смысл приёма: раз задаче не хватает информации, она возвращается к тому, кто её завёл. В Котолавке заказы заводит Ира, её и выбираем. Если авторов у задач много и одним человеком не обойтись, положись на следующий шаг: комментарий с переменной позовёт автора по имени.

  6. Добавь второе действие Добавить комментарий к задаче с текстом: «{{issue.author}}, задаче не хватает информации. Ответь в комментариях, и мы вернём её в работу»

    Конструкция в фигурных скобках: переменная, при срабатывании Трекер подставит вместо неё автора задачи. Вручную синтаксис запоминать не надо, в блоке действия есть кнопка добавления переменной со списком полей. Включи опцию «Отправлять от имени робота», иначе автором комментария будет тот, кто случайно дёрнул триггер сменой статуса.

  7. Нажми Создать и проверь на тестовой задаче: заведи её, переведи в «Требуется информация» и смотри

    Исполнитель сменился, комментарий появился, и всё это за доли секунды после смены статуса. Вот в этом «мгновенно после события» вся суть триггера.

tracker.yandex.ru Очередь KOT · Настройки очереди Основные Рабочий процесс Автоматизация Правила SLA Доступ Новый триггер Вернуть автору за информацией ПРИ УСЛОВИИ Статус Стало равно Требуется информация ВЫПОЛНИТЬ ДЕЙСТВИЯ 1 · Изменить значение поля Исполнитель · Установить значение: Ира 2 · Добавить комментарий к задаче {{issue.author}}, задаче не хватает информации… Создать событие: за чем следим, сработает мгновенно а это робот сделает сам: поле плюс комментарий
Конструктор триггера: сверху условие «что случилось», снизу действия «что сделать». Между ними стрелка, и это вся логика.

Автодействия: робот ходит по расписанию

У триггера есть слабое место: ему нужно событие. А если в задаче ничего не происходит, то и событий нет. Задача просто молчит, и молчать может неделями. Тут выходит автодействие: оно не ждёт событий, а само по расписанию прочёсывает очередь фильтром и обрабатывает всё, что нашло.

Соберём классику жанра: каждое утро находить задачи, которые не обновлялись 2 дня, и писать в них комментарий с призывом исполнителя.

  1. В настройках очереди открой Автоматизация и нажми СоздатьАвтодействие, тип Обновление задач

    Второй тип, создание задач по расписанию, разберём в модуле 9, когда будем делать повторяющуюся закупку.

  2. Назови «Будильник зависших задач» и в графике срабатывания поставь периодичность: раз в 1 день

    Периодичность задаётся в часах или днях. Хочешь утренних срабатываний: заводи автодействие утром, отсчёт пойдёт от этого момента. На время отладки включи «Отправлять уведомление при каждом срабатывании», чтобы видеть, что робот жив.

  3. В отборе задач выбери Когда задача соответствует QL-запросу и вставь: Queue: KOT Resolution: empty() Updated: < now() - 2d

    Читается так: очередь KOT, резолюции нет (задача ещё не закрыта), последнее обновление раньше, чем 2 дня назад. Язык запросов ты уже щупал в модуле 5. Если запросы пока пугают, рядом есть режим попроще: «Когда задача соответствует условию», там параметры выбираются из списков.

  4. В блоке Выполнить действия добавь Добавить комментарий: «{{issue.assignee}}, задача молчит уже два дня. Обнови статус или напиши, что мешает»

    Переменная подставит исполнителя каждой найденной задачи. Действия здесь те же, что у триггеров: сменить статус, изменить поля, посчитать формулу, даже отправить HTTP-запрос во внешнюю систему.

  5. Нажми Создать автодействие и оставь тестовую задачу полежать

    В разделе Автоматизация у каждого автодействия есть история срабатываний и переключатель: можно выключить робота, не удаляя его.

tracker.yandex.ru Очередь KOT · Автоматизация · Новое автодействие Основные Рабочий процесс Автоматизация Правила SLA Будильник зависших задач ГРАФИК СРАБАТЫВАНИЯ раз в 1 день уведомлять при срабатывании ОТБОР ЗАДАЧ Когда задача соответствует условию Когда задача соответствует QL-запросу Queue: KOT Resolution: empty() Updated: < now() - 2d ВЫПОЛНИТЬ ДЕЙСТВИЯ Добавить комментарий · от имени робота {{issue.assignee}}, задача молчит уже два дня… Создать автодействие расписание вместо события: робот ходит сам, раз в день фильтр: кого будим, тот же язык запросов из м5
Автодействие: расписание, фильтр «кого искать» и действие «что с ними сделать». Триггер ждёт события, а этот робот ходит сам.

Главная ошибка автоматизаторов: спам от робота. Поставишь автодействию периодичность «раз в час», и к обеду команда возненавидит и робота, и тебя, а уведомления Трекера отправит в игнор. Правило: комментарий-напоминание не чаще раза в день, любой новый триггер и автодействие сначала обкатывай на тестовой задаче и только потом выпускай на живую очередь.

Макросы: типовой ответ одной кнопкой

Триггеры и автодействия работают сами. Макрос наоборот: это заготовленный набор операций, который человек запускает вручную на странице задачи. Идеален для типовых ответов: Ира двадцать раз в день пишет клиентам «ждём вашего решения» и проставляет одни и те же поля. Двадцать раз по минуте, а можно двадцать раз по секунде.

  1. В настройках очереди открой Автоматизация, нажми СоздатьМакрос и назови его «Ждём клиента»

    Название увидит вся команда в списке макросов, поэтому называй как кнопку: коротко и по действию.

  2. В блоке При запуске макроса впиши текст комментария: «Написали клиенту по задаче {{issue.key}}, ждём ответ. Вернём в работу после его решения»

    Переменные и здесь работают: кнопка добавления переменной подставит номер задачи, имя клиента из поля, что угодно. Текст перед отправкой можно будет подредактировать, макрос лишь заготовка, а не приговор.

  3. В блоке Изменить значение в поле добавь поля, которые надо проставить: например, тег «ждём-клиента»

    Одним нажатием изменится всё сразу: комментарий плюс поля. Именно за это макросы и любят.

  4. Нажми Создать макрос, открой любую задачу и щёлкни в поле комментария: в форме комментария появился выбор макросов

    Выбираешь «Ждём клиента», Трекер подставляет текст и изменения полей, проверяешь и отправляешь. Запускать макрос может любой, у кого есть право изменять задачу, так что вся команда получает кнопку, а не только автор макроса.

tracker.yandex.ru Очередь KOT KOT-31 · Клиент спрашивает про доставку заказа №482 В работе Исполнитель Ира Автор Оля Теги ждём-клиента Клиент в чате спрашивает, когда приедет корм из заказа №482. Уточнили у транспортной, ответ отправлен на почту клиента. Новый комментарий Макрос: Ждём клиента ▾ Написали клиенту по задаче KOT-31, ждём ответ. Вернём в работу после его решения. Также изменится: Теги + «ждём-клиента» Отправить весь типовой ответ одной кнопкой: текст уже подставлен, правь и шли поля макрос проставил сам
Макрос на странице задачи: выбрал в форме комментария, текст и поля подставились, осталось нажать «Отправить».

Шаблоны задач: типовая задача за 10 секунд

Если макрос экономит время на ответах, то шаблон на создании задач. Типовая задача вроде закупки у поставщика: одинаковый тип, исполнитель, компоненты и описание со списком дел. Заполнять это руками каждую неделю обидно.

  1. На левой панели нажми НастройкиШаблоны

    Или сразу открой tracker.yandex.ru/settings/templates. Заметь: шаблоны живут не в настройках очереди, а в общих настройках, но видимость шаблона можно ограничить конкретной очередью.

  2. Нажми СоздатьШаблон задачи и назови его «Закупка у поставщика»

    Кроме шаблонов задач бывают шаблоны комментариев: та же идея, но для повторяющихся ответов, ещё один родственник макроса.

  3. Заполни поля так же, как при создании обычной задачи: очередь KOT, тип «Закупка», исполнитель, а в описание положи список дел закупки

    Всё, что заполнишь в шаблоне, будет подставляться в каждую новую задачу. Поля созданной из шаблона задачи спокойно редактируются: шаблон это старт, а не клетка.

  4. Нажми Сохранить. Теперь при создании задачи нажми в форме Применить шаблон и выбери «Закупка у поставщика»

    Кнопка находится в правом верхнем углу формы создания задачи, рядом же «Управление шаблонами». Десять секунд: применил, поправил название, создал.

Трюк: шаблон плюс триггер с чеклистом. Отдельного блока чеклиста в шаблоне нет, но среди действий триггера есть Создать чеклист. Свяжи их: шаблон заводит задачу типа «Закупка», а триггер по условию «тип задачи: Закупка» сам добавляет в неё пункты чеклиста. Задача рождается уже с планом работ, и никто ничего не забыл.

SLA-таймеры: время реакции и время решения

SLA в Трекере: набор правил, которые ставят таймеры на обработку задач. Клиент написал, а ему сутки не отвечают? Без таймера ты узнаешь об этом из гневного отзыва. С таймером: из предупреждения Трекера, пока ещё можно всё спасти.

Классическая пара правил:

Настраивается так: в настройках очереди открой вкладку Правила SLA и нажми Создать правило. Внутри правила:

Что происходит при нарушении: в блоках «Предупреждения» и «Срыв срока» выбери Отправить письмо и укажи получателей, и Трекер сам сообщит о жёлтой зоне и о просрочке. В самой задаче виден таймер SLA, так что исполнитель следит за временем без калькулятора. А для жёсткой эскалации вспомни триггеры: среди условий есть «Превышение лимитов SLA», можно автоматически поднять приоритет или позвать руководителя.

Ограничения, чтобы не удивляться: на очередь не больше 30 правил SLA, и правило работает только с задачами, созданными после его включения, задним числом таймеры не появятся.

Сквозной кейс · Котолавка, серия 6

Оля увольняется с должности живого будильника

После пятого модуля у Оли есть дашборд, и она видит зависшие заказы. Проблема в том, что видит их только она, и каждое утро вручную пинает Макса и Иру. В прошлой серии Трекер показывал, теперь он будет действовать.

Делаем
Три настройки за один вечер. Первая: страж зависших заказов. Заказ молчит два дня: это не событие, а его отсутствие, значит нужен не триггер, а автодействие. Оля открывает настройки очереди 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: каждую неделю одна и та же шапка, поля и структура. Настроишь после этого модуля: команда скажет спасибо.

Чек-лист: что должно получиться

Мини-тест: 5 вопросов, без занудства

Ошибиться не страшно: под неправильным ответом появится подсказка, куда посмотреть.

1. Ира каждое утро вручную ищет заказы, по которым два дня никто ничего не писал, и напоминает о них коллегам. Каким механизмом это заменить?

Именно. Тишина: это не событие, тут нужен обход по расписанию.
Загляни в карту автоматизации: триггеру нужно событие, а когда в задаче тишина, событий нет. По расписанию ходит автодействие.

2. Ира по двадцать раз в день пишет клиентам один и тот же ответ и проставляет один и тот же тег. Что настроить?

Да. Двадцать раз по секунде вместо двадцати раз по минуте.
Перечитай раздел про макросы: заготовленный набор операций, который человек запускает кнопкой на странице задачи.

3. Нужно: как только задачу переводят в «Требуется информация», она сама возвращается автору с комментарием. Что выбрать?

Верно. Смена статуса: событие, а на события реагирует триггер, мгновенно.
Мы собирали ровно этот триггер по шагам в разделе «Триггер по шагам». Автодействие сработало бы с опозданием до часа.

4. Оля включила правило SLA «реакция за 4 часа» и в пятницу в 19:00 создала тестовую задачу. В понедельник утром таймер даже не начал гореть. Почему?

Точно. Выходные таймеру не засчитываются, всё честно.
Смотри раздел про SLA: у каждого правила есть график работы, и вне его отсчёт времени останавливается.

5. Макс каждую неделю заводит одинаковую задачу закупки и руками заполняет десяток полей. Самый быстрый путь?

Да. Десять секунд: применил шаблон, поправил, создал.
Раздел про шаблоны: заготовка с заполненными полями подставляется в новую задачу целиком.