Итак, спустя 4+ года, вот snapshot того, как наша команда использует Discourse для ежедневных скрамов.
Организационный контекст
- Проектная команда, работающая над различными инициативами с открытым исходным кодом как «внешние клиенты», но входящая в состав крупной организации.
- Эта крупная организация имеет собственные проприетарные инструменты для документации, управления проектами, чата (Slack) и т. д., и исторически не хотела переходить на инструменты с открытым исходным кодом или делиться работой организации публично.
- Работа этой команды должна одновременно (а) соответствовать стандартам отчетности крупной организации и (б) быть доступной для публики.
Технический контекст
- Форум Discourse для взаимодействия команды с публикой и другими внешними сторонами.
- Специальная категория управления проектами, доступная для чтения всем, но доступная для записи только команде.
- Подкатегория «Ежедневные стендапы» в этой категории, также доступная для записи только команде, с автоматическим закрытием тем через 23 часа.
- Мы переименовали
@discobotи убедились, что у него есть доступ к этой категории.
(На данный момент) решение
- С неохотой используем Zapier для автоматизации, так как существующие плагины Discourse или доступные инструменты с открытым исходным кодом пока недостаточны.
- С понедельника по пятницу Zapier создает новую тему в подкатегории «Ежедневные стендапы» от имени пользователя-бота в назначенное время каждый день, используя текущую дату в заголовке темы.
- Zapier отправляет напоминания в Slack (это функция Slack, позволяющая откладывать и отклонять напоминания) каждому участнику стендапа в время, близкое к началу его рабочего дня, включая ссылку на URL конкретной темы стендапа на этот день.
- Zapier отслеживает посты в этой категории, фильтруя всё от бота, первый пост любой темы, а также исключая автоматическое закрытие, которое иначе также могло бы сработать. Пост радикально переписывается с помощью инструментов Zapier для публикации в канале Slack, имитируя формат, используемый членами других команд, но с добавлением ссылки на пост в первой строке сообщения Slack (которая представляет собой автоматически сгенерированную дату). Мы были вынуждены сделать это, потому что плагин Chat Integration был слишком шумным из-за дополнительных метаданных, что раздражало других пользователей этого канала.
- В какой-то момент мы вручную добавляем дату в плагин Events, чтобы отчет о стендапе отображался на главном
/calendarвместе с другими мероприятиями. - Мы убеждаемся, что плагин Chat Integration исключает (заглушает) эту категорию Standup, чтобы не дублировать один и тот же стендап в другом месте рабочего пространства Slack.
Пожелания для Discourse
Что было бы замечательно в будущем, чтобы нам не пришлось использовать Zapier:
- Повторяющийся график автоматических публикаций, текст которых можно было бы шаблонизировать с использованием переменных, таких как дата.
- Плагин Chat Integration: возможность редактировать шаблон того, что плагин Chat Integration отправляет в различные каналы, примерно так же, как это делается с шаблонами электронной почты.
- Assign: возможность назначать нескольких исполнителей на тему, устанавливать интервалы напоминаний для каждой категории, а также разрешать назначение через API или как часть шаблона автоматического создания, описанного выше.