Автоматизация: примеры использования
Правила позволяют решать различные задачи. С чего же начать? В этом разделе описаны некоторые распространенные примеры использования автоматизации.
Синхронизация основных задач и подзадач
При работе с подзадачами и основными задачами важно, чтобы связанные задачи были синхронизированы. Добиться этого очень просто с помощью правил ветвления. Например, при решении подзадачи можно создать правило, которое будет автоматически менять статус основной задачи, если нет других нерешенных подзадач.

Инструкции по созданию правила
- Создайте триггер Issue transitioned (Изменение статуса задачи). Он будет запускать правило при изменении статуса задачи. Настройте триггер так, чтобы правило запускалось при изменении статуса задачи на Done (Готово).
- Добавьте к правилу условие Issue fields (Поля задачи), которое будет проверять, является ли задача подзадачей. Если не является, тогда правило перестанет работать.
- Выполните ветвление правила, выберите parent (основная) в качестве типа связанной задачи. Тогда все последующие условия и действия будут выполняться для основной задачи по отношению к той, которая привела к срабатыванию правила.
- Добавьте к правилу условие Related issues (Связанные задачи), которое будет проверять, имеют ли другие подзадачи статус status = done. Это гарантирует, что все подзадачи основной задачи будут иметь статус Done (Готово).
- Наконец, создайте и настройте действие Transition issue (Менять статус задачи), чтобы статус основной задачи менялся на Done (Готово).
- Введите название для правила и включите его.
Другой пример использования автоматизации — наследование подзадачами значений (таких как версия фикса) от основной задачи. Эти значения можно синхронизировать, чтобы поддерживать актуальность основной задачи и подзадач.

Инструкции по созданию правила
- Создайте триггер Field value changed (Изменение значения поля). Правило будет срабатывать при изменении значения выбранного поля. Настройте триггер так, чтобы он отслеживал поле Fix versions (Версии фикса).
- Выполните ветвление правила, выберите sub-task (подзадача) в качестве типа связанной задачи. Тогда все последующие условия и действия будут выполняться для подзадач той задачи, которая привела к срабатыванию правила.
- Создайте и настройте действие Edit issue (Отредактировать задачу), чтобы в поле Fix versions (Версии фикса) копировалось значение из основной задачи.
- Введите название для правила и включите его.
Автоматическое назначение задач команде
Как ваша команда обрабатывает неназначенные задачи? Обычно команды оставляют такие задачи на усмотрение технических специалистов. В результате некоторые задачи остаются без внимания.
Автоматизация помогает решить эту проблему путем сбалансированного назначения задач участникам команды.
Инструкции по созданию правила
- Выберите триггер для правила и условия, которые вы хотите настроить, чтобы определять, какие именно задачи назначать автоматически.
- Создайте действие Assign issue (Назначить задачу). Оно позволит легко назначать задачи с использованием различных сценариев.
- Создайте действие, которое будет назначать задачу пользователю из списка. Это позволит создать список пользователей, из которого действие будет выбирать исполнителя.
- В качестве метода выбора исполнителя укажите Balanced workload (Сбалансированная нагрузка). В этом случае задача будет назначаться пользователю с наименьшим количеством открытых задач.
- В списке пользователей найдите и выберите участников своей команды.
- Нажмите Save (Сохранить), чтобы применить действие, затем введите название для правила и нажмите Turn it on (Включить).



Планирование задач
Автоматическое планирование задач не только сокращает объем работы, выполняемой вручную, но также гарантирует согласованность и надежность рабочих процессов.
Например, если клиент не ответил на запрос инженера поддержки по задаче, можно настроить правило, чтобы автоматически отправлять напоминания и временно закрывать устаревшие задачи.
Инструкции по созданию правила
- Создайте триггер Scheduled (Запланировано). Настройте расписание так, чтобы правило срабатывало каждый день и выполнялась проверка статуса status = "Waiting for customer" и даты последнего обновления updated < -5d. Таким образом, правило будет запускаться, если у задачи есть статус Waiting for customer (Ожидание клиента) и он не обновлялся более 5 дней.
- Добавьте действие Comment on issue (Комментировать задачу), чтобы сообщать клиенту о том, что задача автоматически закрыта по причине бездействия.
- Создайте и настройте действие Transition issue (Менять статус задачи), чтобы статус задачи менялся на Resolved (Решено).
- Введите название для правила и включите его.

Интеграция с инструментами разработки (Bitbucket, Github, Gitlab)
Automation интегрируется с инструментами управления исходным кодом, что позволяет автоматизировать процессы разработки.
Например, вы хотите, чтобы при слиянии запроса pull статус связанной задачи изменялся на Rolling out (Развертывается), если с ней связан какой-либо флаг возможности. Если связанного флага нет, статус задачи необходимо изменять на Done (Готово).
Инструкции по созданию правила
- Используйте триггер Pull request merged (Слияние запроса pull). Он будет запускать правило при выполнении слияния запроса pull с вашим репозиторием.
- Добавьте блок условия If/else (Если/иначе). Это условие позволит выполнять альтернативные действия в зависимости от того, выполняется указанное условие или нет.
- В блоке If (Если) добавьте и настройте условие Related issues (Связанные задачи) для проверки существования задач с типом feature flagged by (отмечено флагом возможности).
- Создайте и настройте действие Transition issue (Менять статус задачи), чтобы статус задачи менялся на Rolling out (Развертывается).
- В блоке Else (Иначе) укажите и настройте действие Transition issue (Менять статус задачи), чтобы статус задачи менялся на Done (Готово).
- Введите название для правила и включите его.

Вы можете настроить правило для уведомления своей команды с помощью сообщения в Slack, когда определенный инженер создает коммит.
Инструкции по созданию правила
- Используйте триггер Commit created (Создан коммит). Он будет запускать правило при создании коммита в вашем инструменте управления исходным кодом.
- Добавьте и настройте условие User (Пользователь) для проверки исполнителя (это Джон или Николь?).
- Установите и настройте действие Send Slack message (Отправить сообщение в Slack), чтобы отправлять на канал вашей команды сообщение с уведомлением о коммите.
- Введите название для правила и включите его.
