Как сделать свой багтрекер с Битрикс24 и Универсальными списками

Система отслеживания ошибок средствами Универсальных списков в Битрикс24

Многие компании в своей работе сталкиваются с потребностью в использовании системы отслеживания ошибок. Баг-трекера, простым языком. Рассмотрим, как можно использовать возможности Битрикс24 для создания на его основе работающего баг-трекера.

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

Для запуска Системы отслеживания дефектов мы будем использовать механизм Универсальных списков в Битрикс24 ( http://www.bitrix24.ru/features/docs.php#lists ). Поэтому нам понадобится редакция Компания стоимостью 9990 рублей в месяц. Напоминаем, приобретая лицензию с помощью партнеров компании 1С-Битрикс, можно получить скидку от 5% до 10%.

Конечно, никто не будет использовать Битрикс24 в редакции Компания только для того, чтобы пользоваться Универсальными списками. Но мы ведь с вами рассматриваем решение для бизнеса, верно? Будем считать, что в вашей компании Битрикс24 уже используется совсем для других целей. И вы стремитесь хранить все данные в одном месте, а не распространять их по сети в сторонних сервисах. Пусть даже бесплатных и заслуживающих внимания Redmine ( http://www.redmine.org/ ) и Bugzilla ( http://www.bugzilla.org/ ).

Строим архитектуру

Рассмотрим пример создания баг-трекера для конкретного проекта по разработке сайта.

Универсальные списки могут привязываться к рабочим группам в Битрикс24, а могут использоваться для всех и привязываться к Компании. Рабочая группа является штатным способом ведения проектов. Поэтому, первое, что мы должны сделать – включить в группе функционал Универсальных списков. Перейдите в группу, выберите меню Действия и выберите Редактировать .

Редактирование группы

В открывшемся окне редактирования группы на вкладке Возможности установите флажок Списки .

Включаем списки в группе

После этого на панели группы появится кнопка Списки. Перейдите на страницу Списки и нажмите Добавить .

Добавление списка в группу

Если верить Википедии, у  систем отслеживания ошибок  для каждой ошибки может быть указана следующая информация:

  • номер (идентификатор) дефекта;
  • кто сообщил о дефекте;
  • дата и время, когда был обнаружен дефект;
  • версия продукта, в которой обнаружен дефект;
  • серьёзность (критичность) дефекта и приоритет решения;
  • описание шагов для выявления дефекта (воспроизведения неправильного поведения программы);
  • кто ответственен за устранение дефекта;
  • обсуждение возможных решений и их последствий;
  • текущее состояние (статус) дефекта;
  • версия продукта, в которой дефект исправлен.

Кроме того, развитые системы предоставляют возможность прикреплять файлы, помогающие описать проблему (например, дамп памяти или скриншот). Применительно к разработке сайта этот список избыточен, и нам потребуются только некоторые свойства.

Первое, что нам нужно сделать — указать название для списка и изображение (по желанию).

Создаем список

На вкладке Подписи указываем подписи для элементов списка и элементов управления списком. Можно использовать привычное Issue для обозначения ошибки.

Создание списка

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

Настройка доступа к списку

После того, как мы нажмем Сохранить, в разделе Списки появится созданный “Отслеживание ошибок”. Перейдите в список.

Картинка списка

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

Название поля Тип Обязательность Комментарий
ID Счетчик Да
Дата и время создания Дата создания

Тип ошибки Список
* Ошибка в коде
* Ошибка в верстке
* Странность в поведении
* Пожелание
Критичность Список
* Не критично
* Нормально (по умолчанию)
* Критично
Состояние Список Да * Не принято
* Принято
* Не удалось повторить
* Исправлено
* Не будет исправлено
* Не подтверждено
Описание Текст анонса
Использовать визуальный редактор — Да
Ширина и высота элемента управления — 600px на 200px
Скриншоты Файл
Множественное — Да

Можно использовать еще поле типа Детальный текст для расширенного описания ошибки.

После создания полей перейдите в список ошибок и нажмите « Create issue ». Откроется окно добавления записи об ошибке. Заполните поля информацией и нажмите Сохранить . Отлично, мы сделали первую запись в нашем баг-трекере!

Редактирование элемента списка

Фильтр и сортировка ошибок

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

Фильтр по ответственному

Или найти все “Пожелания”, чтобы проверить, нужно их делать, или нет ))

Отбор с помощью фильтра

И даже такой хитрый фильтр, как “Найти все исправленные баги конкретного ответственного за прошлый месяц” сработает:

Исправлено за прошлый месяц

Ограничения и неудобства

Конечно, описанная технология не идеальна, перечислим несколько очевидных минусов:

Проблема с прикреплением файлов — вам самостоятельно придется делать скриншот, сохранять его на жесткий диск, а только потом загружать в описание ошибки. Это долго и неудобно. Привыкнув к Youtrack с его “Вставить скриншот”, который он сам же и сделает, тяжело перестроиться. Решение — всевозможные сервисы «сделай скриншот и загрузи в сеть по уникальной ссылке». QipShot, Evernote, Awesome Screenshot (дополнение для Chrome) — вот только некоторые из них.

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

Цена внедрения . Самый неприятный минус. Как следствие, у многих пользователей описанный функционал не доступен. Мы уже говорили, покупать редакцию Компания только ради Универсальных списков не имеет смысла. Надеемся, компания 1С-Битрикс в будущем пересмотрит политику лицензирования, и Списки станут доступны, например, в редакции Команда.

Другие возможности применения

Универсальные списки поэтому так и называются, что могут использоваться для решения задач в различных сферах бизнеса.

Перечислим возможные применения:

  • Прием заявок от пользователей, или от населения, если вы Управляющая компания.
  • Реестр договоров с хранением отсканированных копий файлов. Мы так долгое время и делали.
  • База данных сотрудников или клиентских аккаунтов, с различными дополнительными полями. Подойдет для пенсионных фондов etc. Есть мнение, что для них возможностей встроенной CRM будет мало.

Развитие

Пусть Список есть, вы успешно работаете с ним и наполняете информацией. Что дальше?

В любом универсальном списке есть возможность создавать разделы. Поэтому, даже когда число записей станет большим, всегда можно создать папку “Архив” и переместить в нее ранние элементы.

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

Итак, мы рассмотрели баг-трекер с возможностью добавления файлов и назначения ответственных. Мы использовали механизм Универсальных списков в Битрикс24 редакции Компания. Просим поделиться в комментариях другими способами применения Универсальных списков. Спасибо за внимание, желаем отсутствия ошибок при разработке!

Комментарии (4)

...
  • Иван Бормотов
  • 21.01.2014 15:16:07
Спасибо. Было очень интересно прочесть. Реализовал с помощью статьи список "Выдача бонусных сертификатов" Остался вопрос - как напечатать запись списка?
...
  • Dolbilov Mikhail
  • 11.06.2014 08:23:53
В табличке с полями нет еще последнего пункта - Ответственный
...
  • Дарья
  • 04.03.2016 08:54:39
Спасибо! Статья очень информативная, но у универсальных списков есть один недостаток - при создании элемента в списке нельзя создать задачу ответственному, чтобы он мог выполнить учет времени выполнения задания
...
Можно сделать бизнес-процесс, который будет работать "над списком" и автоматически запускаться при добавлении элемента в список.
Действие бизнес-процесса — Создать задачу.