Trac система тикетов
Table of Contents
База данных тикетов Trac предоставляет простой, но эффективный трэкинг задач и багов в рамках проекта.
Центральным элементом управления проектом в Trac является тикет, используемый для project tasks (задач проекта), feature requests (фьючери реквест - запрос на разработку доп. функциональности), bug reports (баг-репорты — отчеты о сбоях) and software support issues (проблемы тех. поддержки).
Как и в TracWiki, эта подсистема разработана с целью вовлечь пользователя в проект и сделать его участие насколько возможно проще. Должно быть как можно проще добавлять баг-репорты, вопросы и предлагать улучшения.
Проблема назначается человеку, который должен решить проблему или переназначить тикет кому-то другому. Все тикеты могут редактироваться, аннотироваться, разделяться по приоритетам и обсуждаться в любое время.
Поля тикета
Тикет содержит следующие информационные атрибуты:
- Reporter - Автор тикета.
- Type - Тип тикета (например, дефект/баг, либо запрос на улучшение)
- Component - Модуль проекта или подсистема, которая затрагивается данным тикетом.
- Version - версия проекта, к которой относится тикет.
- Keywords - Ключевые слова, которыми помечается тикет. Полезно для поиска и генерации отчетов.
- Priority - Может иметь различные значения: от trivial (простой, несущественный, низший приоритет) до blocker (критический, имеет первостепенную важность и требует обработки в первую очередь).
- Milestone - Поздний срок решения проблемы. (Прим. переводч. — не уверен, что правильно понял суть) When this issue should be resolved at the latest. (Прим. Z1g0rro: Milestone - этап разработки)
- Assigned to/Owner - Главный ответственный за обработку проблемы.
- Cc - Перечисленный через запятую список пользователей или e-mail адресов для получения отчетов/уведомлений. Заметьте, что это не означает ответственность или другую политику.
- Resolution - Причина, по которой тикет был закрыт. Одна из
fixed (исправлено)
,invalid (некорректно)
,wontfix (исправления не будет)
,duplicate (дублирует другой тикет)
,worksforme (не воспроизводимо)
. - Status - Какой текущий статус? Один из
new (новый, создан)
,assigned (назначен)
,closed (закрыт)
,reopened (переоткрыт)
. - Summary - Краткое описание проблемы.
- Description - Тело тикета. Хорошее описание должно быть четким, полностью раскрывающим проблему и по существу.
Примечание: Версии Trac до 0.9 не имели поля type, но взамен имели поле severity (строгость) и другое дефолтное значение для поля priority. Эти изменения были сделаны для упрощения модели тикета, в частности убрано размытое различие между понятиями priority и severity. Тем не менее, старая модель все еще доступна, если вы ее предпочитаете: просто добавьть/измените дефолтное значение priority и severity, а также по желанию спрячьте поле type, удалив все возможные его значения через trac-admin.
Примечание: type, component, version, priority и severity поля могут изменены с помощью trac-admin или WebAdmin plugin.
Примечание: Описание встроенных в priority значений доступно в TracDev/Proposals/TicketTypes#Whyistheseverityfieldgone
Изменение и комментирование тикетов
Как только тикет введен в Trac, вы можете в любое время изменить информацию в annotating (аннотацию) бага. Это означает, что изменения и комментарии к тикету являются частью самого тикета.
При просмотре тикета. история изменений показывается ниже главной области тикета.
В Trac проекте, вы можете использовать комментарии тикета для обсуждения проблемы и задачи. Это помогает легче понять причины выбора дизайна или реализации при возврате к проблеме позднее.
Примечание: Важная фишка — возможность использовать TracLinks и WikiFormatting в описании тикета и комментариях. Используйте TracLinks для отсылки к другим задачам, чейнджсетам или файлам для уточнения и спецификации вашего тикета и облегчения понимания.
Примечание: Смотрите TracNotification для конфигурирования email рассылки уведомлений об изменении тикета.
Примечание: Смотрите TracWorkflow для получения информации об изменении состояний тикета (жизненном цикле), и как этот процесс может быть модифицирован по заказу пользователя.
Дефолтные значения для Drop-Down полей
Опция выбора по умолчанию для изменяемых drop-down полей может быть установлена в trac.ini, в [ticket]
секции:
default_component
: Имя компонента, выбираемого по умолчаниюdefault_milestone
: Имя milestone по умолчаниюdefault_priority
: Значение priority по умолчаниюdefault_severity
: Значение severity по умолчаниюdefault_type
: Тип ticket по умолчаниюdefault_version
: Имя version по умолчанию
Если любая из этих опций опущена, дефолтное значение будет выбрано первым из списка, или установлено пустой величине, или редактируемое поле попросит установить значение.
Скрытие полей и добавление своих
Многие из дефолтных полей тикета могут быть спрятаны из веб интерфейса простым удалением всех возможных значиний в trac-admin. Это относится только к drop-down полям, таким как type, priority, severity, component, version и milestone.
Trac также позволяет вам добавить ваши собственные поля для тикета. Смотрите TracTicketsCustomFields для получения информации.
Assign-to как Drop-Down список
Если список возможных владельцев тикета конечный, вы можете изменить поле assign-to с типа "редактируемая строка" на drop-down список. Это делается посредством установки в значение “true” опции restrict_owner
секции [ticket]
в trac.ini. В этом случае, Trac использует список всех пользователей для заполнения выпадающего списка.
Чтобы пользователь появился в выпадающем списке, он должен быть зарегистрирован в проекте, т.п. в базе данных должен существовать аккаунт. Такой вход автоматически создается в базе данных, когда пользователь в первый раз сохраняет изменения в проекте, например, редактирует настройки пользователя на странице Settings, лабо просто подтверждается поддлинность, если у пользователя есть логин. Также, пользователю должна быть назначена роль TICKET_MODIFY
, смотрите permissions.
Предустановки для новых тикетов
Чтобы создать ссылку на новый тикет с формой, предварительно заполненной значениями, вам нужно вызывать /newticket?
URL с переменная=значение разделенными &.
Возможные переменные:
- type - значение для выпадающего списка "тип"
- reporter - Имя или email создателя тикета
- summary - Строка - краткая формулировка для тикета
- description - Полное описание тикета
- component - Значение для выпадающего списка "компонент"
- version - Значение для выпадающего списка "версия"
- severity - Значение для выпадающего списка "строгость"
- keywords - Ключевые слова
- priority - Значение для выпадающего списка "приоритет"
- milestone - Значение для выпадающего списка "веха" (Прим. перев. — все-таки должно быть похоже на это по значению)
- owner - Человек, ответственный за тикет
- cc - список email-ов для рассылки сообщений об изменениях тикета
Пример: /trac/newticket?summary=Compile%20Error&version=1.0&component=gui
См. также: TracGuide, TracWiki, TracTicketsCustomFields, TracNotification, TracReports, TracQuery