Наш Telegram-бот для Redmine: таск-трекер в кармане
Уже более 10 лет мы ведем задачи наших клиентов в Redmine. С самого начала деятельности компании мы железно решили использовать таск-трекер для работы над задачами по одной простой причине — вся информация по проектам находится в одном месте с общим доступом. Для нас это жизненно необходимо, так как помимо администрирования серверов 24/7 мы также разрабатываем и внедряем инфраструктурные решения на базе Kubernetes. Поэтому аккумулирование и сохранность информации критически важны. Удобство такого подхода оценивают на себе не только наши специалисты, но и сам клиент, когда у него под контролем, по сути, всегда исчерпывающая информация по его проекту онлайн.
Основная проблема с таким подходом в том, что клиентам обычно довольно сложно все действия по задачам проводить только через таск-трекер. Спустя некоторое время после начала сотрудничества в ход начинают идти различные мессенджеры, просто потому, что они всегда под рукой. Вконтакте, Skype или WhatsApp, отправить сообщение в несколько кликов прямо с мобильного и не ждать, пока прогрузится браузер с Redmine. Конечно мессенджер в разы удобней, но с ними есть одна проблема — их много. Каждый клиент пользуется чем-то своим, и когда на менеджеров и администраторов начинают сыпаться сообщения из разных каналов, держать по 10 открытых чатов попросту неэффективно. Поэтому мы жестко ограничивали такие активности и приучали клиентов работать только в Redmine.
Но прогресс не стоит на месте, мы развиваемся, и не только с профильной стороны, но и сточки зрения сервиса. За последние 2 года численность пользователей смартфонов для повседневных задач и работы выросла в несколько раз. Конечно, мы начали получать все больше запросов от клиентов на возможность коммуницировать через мобильные мессенджеры. Мы не могли уже противостоять этому, и стали искать какой из популярных мессенджеров официально интегрировать в нашу инфраструктуру. На тот момент наш выбор пал на Telegram, потому что у него предельно удобный веб-клиент и мобильное приложение, и нет лишних тяжелых обвесов, как у мессенджера ВК, например.
Но ввести в обиход один мессенджер — это безусловно удобно для клиентов, но дополнительная головная боль для администраторам. Причина в том, что любая живая переписка почти всегда ведется стихийно, на бегу, и поэтому в какой то момент участники теряют нить повествования и снова просят писать все в Redmine. В таком случае, без дополнительных правил переписки, внедрение мессенджера теряют смысл. В этот момент мы приняли решение написать свой собственный Telegram-бот и максимально формализовать рабочую переписку в Telegram. Нашей целью было использовать все прелести мобильности и простоты мессенджера, при этом избегая бесконтрольности живой переписки.
Давайте заглянем на наш чат-бот для Telegram поближе, разберемся на что он способен и как им пользоваться.
Авторизируемся
Для работы с чат-ботом необходимо иметь Redmine-аккаунт.
Сначала придумываем себе username и прописываем в настройках Telegram.

Данный username также прописываем в настройках Redmine.

Находим в Telegram чат-бота @nixys_support_bot и пишем “Start”.

Ставим задачи
Для постановки задачи, достаточно просто написать в чат-бот текст и прикрепить нужные файлы. В ответ бот предложит варианты, как поступить с сообщением.

Если надо создать новую задачу, бот предложит дополнительные настройки.

Можно выбрать проект.

Указать приоритет задачи.

Также есть возможность проскочить все настройки и сразу нажать «Создать задачу», бот создаст задачу с автонастройками (базовыми).

Затем бот уведомляет о создании соответствующего тикета в Redmine, c кликабельной ссылкой.

В Redmine поставленная задача будет выглядеть следующим образом:

Если нажали «Выбрать задачу», бот предложит список открытых на текущий момент задач, в которые можно добавить комментарий.

При этом мы имеем возможность взаимодействовать только с теми проектами, к которым мы подключены в Redmine.
Ведем переписку по задачам
Как только что-то происходит в задаче, бот об этом сообщает. Например, администратор отписывается о проделанной работе.

В Telegram приходит данный комментарий с указание задачи, статуса и отправителя.

На такое сообщение можно сразу ответить прямо через бота.

Итого, мы создали задачу и ответили по ней на комментарий — и ни разу не зашли для этого в Redmine. При этом дежурный администратор все это время работал с задачей именно в Redmine, не переключаясь на мессенджер.
Прикрепляем файлы
Допустим, система мониторинга сообщает о проблеме, администратор создает задачу в Redmine и прикрепляет к ней файл с графиком системы мониторинга. В Telegram придет сообщение с этим прикрепленным графиком.

Мы можем в ответ так же прикрепить необходимые файлы, которые аналогичным образом прикрепятся к задаче в Redmine.
Вот и все! Пользуйтесь нашим Telegram-ботом будет вам счастье 🙂
Если хотите узнать технические особенности Telegram-бота, читайте наш обширный материал на Хабре: https://habr.com/ru/company/nixys/blog/347526/