Skram: автоматизируем отчеты по проектам


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

Сначала рассказ о сделанном и запланированных задачах происходил в свободной форме. После окончания чатика обязанностью ведущего было пройтись по логу и составить отчет по каждому участнику, после чего разослать его команде. Отчет занимал много времени и мой коллега Денис Карпов задумался об автоматизации задачи. Результатом стал плагин для скайпа Skram.

Возможности

Основная задача плагина — упрощение создания отчета при минимальном влиянии на формат общения. Задачу эту решили путем введения простых тегов для пометки сообщений. Рассмотрим простой пример:

skram master: #start:super-project-chat

skram master: Logging chat: #skrm.mstr/$asdfsadf234afs. Project: Super proJEcT.

skram master: Developer делал что?

developer: #done Сделал очень важную таску по проекту (XXX-102)
#plans посмотреть новый дефект
может все там работает как надо

developer: #blocker одмины не дают посмотреть ролик с вебинаром на ютубе :(

skram master: ок, спасибо. Тестер?

tester: #plans ждать новую сборку и проверить заресолвленные талоны

skram master: ок, всем спасибо

skram master: #end

Из этого диалога плагин выцепит, что разработчик занимался тем (#done) , что сделал очень важную таску по проекту и планирует (#plans) посмотреть новый дефект. Также он пожаловался (#blocker), что IT служба полные редиски и не даёт посмотреть вебинар, выложенный на ютуб. Тестировщик ничего не делал с момента последнего чатика и ждет (#plans) новой сборки приложения.

В этом диалоге есть 2 технических момента: начало и конец записи, которые задаются командами #start и #end соответсвенно. После ввода #end плагин автоматически откроет почтовый клиент с сформированным отчетом и заполненным списком адресатов:
Полученный отчет можно подредактировать (если нужно) и отправить адресатам.

Приведенные в качестве примера теги и шаблон по которому формируется отчет - не предопределены и настраиваются для каждого проекта. Плагин поддерживает любые теги, что позволяет гибко настроить формат чата и отчета под свои нужды, лишь бы шаблон вывода предусмотрел их отображение. Кроме того поддерживаются alias'ы, которые могут быть использованы для сокращения команд. В итоге можно писать не #done, а #d.

Настройки

Все настройки хранятся в ini файлах. Есть основной файл skram.ini, где содержится информация о заведенных проектах, путях где лежит файл с параметрами проекта и путь до шаблона, по которому сформируется отчет:
;файл с настройками нашего супер проекта и шаблон к нему
[super-project-chat]
ini=myprj.ini
template=common.html

[Properties]
rollingLogFileMaxBytes=5000000

Файл проекта выглядит так:

[Names]
#отображения skype имен на нормальные названия
skrm.mstr=Skram master
developer=Developer
tester=Tester
#о ! и ? читаем в документации :)
ignoredguy=!Петр Игноренко
optionalguy=?Иван Возможин
[Mail]
subject=Протокол чата по проекту Super proJEcT
to=proj-manager@company.com
cc=skrm-master@company.com; dev@company.com; tester@company.com

[Formatting]
date=%d/%m/%Y

[Aliases]
d=done
p=plans
n=notes
b=blockers

[Properties]
globalTags=blockers

Более подробно формат описан в документации (pdf)

Поддерживаемые платформы

На текущий момент версия плагина есть как для Windows так и для Linux.

Windows версия ориентирована на работу с Outlook и других почтовых клиентов пока не поддерживает.

Linux клиент использует indicator API для показа иконки в трее, поэтому завязана на убунту, но так как весь код по логированию вынесен отдельно , переписать эту часть не составит труда и под другие API. Завязки на почтовый клиент нет. Вместо этого для формирования отчета вызывается shell скрипт, который волен делать с результатом что хочет. Имеется заготовка для вызова Thunderbird.

Комментариев нет:

Отправка комментария