stringtranslate.com

Система отслеживания ошибок Mantis

Mantis Bug Tracker — это бесплатная веб- система отслеживания ошибок с открытым исходным кодом . Наиболее распространенное использование MantisBT — отслеживание дефектов программного обеспечения . Однако пользователи часто настраивают MantisBT как более общую систему отслеживания проблем и инструмент управления проектами .

Название Mantis и логотип проекта отсылают к семейству насекомых Mantidae , известному тем, что выслеживают и питаются другими насекомыми, в просторечии называемыми «жуками». Название проекта обычно сокращается до MantisBT или просто Mantis .

История

Кензабуро Ито начал разработку проекта отслеживания ошибок Mantis в 2000 году. В 2002 году к Кензабуро присоединились Йерун Латур, Виктор Боктор и Джулиан Фитцелл в качестве администраторов, и проект стал командным. [2] Версия 1.0.0 была выпущена в феврале 2006 года. [3] Версия 1.1.0 была выпущена в декабре 2007 года. [4] В ноябре 2008 года, после долгого обсуждения, [5] проект отказался [6] от использования Инструмент контроля версий Subversion для Git , распределенного инструмента контроля версий. В феврале 2010 года вышла версия 1.2.0. [7] В июле 2012 года организация MantisBT на GitHub стала официальным репозиторием исходного кода проекта. [8]

Функции

Плагины

Система плагинов , управляемая событиями, была представлена ​​с выпуском версии 1.2.0. [9] Эта система плагинов позволяет расширять MantisBT как с помощью официально поддерживаемых, так и сторонних плагинов. По состоянию на ноябрь 2013 года в организации MantisBT-plugins на GitHub доступно более 50 плагинов.

До версии 1.2.0 пользователям была доступна сторонняя система плагинов, созданная Винсентом Дебаутом, а также множество различных плагинов. [10] Эта система официально не поддерживается проектом MantisBT и несовместима с MantisBT 1.2.0 и более поздних версий.

Уведомления

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

RSS- каналы доступны для пользователей, которые хотят отслеживать решенные проблемы. Кроме того, MantisBT имеет интеграцию с Twitter через плагин, позволяющий отправлять уведомления в Твиттере, когда проблема решена.

С помощью системы подключаемых модулей MantisBT , управляемой событиями , можно расширить встроенную поддержку уведомлений для запуска расширенных сценариев, которые выполняют дополнительные действия по уведомлению (например, отправку SMS- сообщений или обновление статусов во внешних системах управления проектами ).

Интеграция системы контроля версий

Версии MantisBT до 1.2.0 допускали ограниченную интеграцию с системой контроля версий CVS . [11] С появлением возможностей подключаемых модулей в MantisBT 1.2.0 интеграция контроля версий была переработана Amethyst Reese в подключаемом модуле SourceIntegration.

Первоначальная версия плагина SourceIntegration поддерживала GitHub , GitWeb, SourceForge и WebSVN. [12] Со временем были добавлены два дополнительных модуля, и по состоянию на ноябрь 2013 года интеграция исходного кода поддерживается для следующих инструментов контроля версий и веб- поставщиков:

После фиксации набора изменений в репозитории исходного кода можно настроить перехватчики после фиксации в Git или Subversion для автоматического уведомления MantisBT о внесении изменений в репозиторий. GitHub также способен удаленно уведомлять установку MantisBT об изменениях в репозитории исходного кода. Другой метод, используемый для интеграции MantisBT с поставщиками веб-хостинга исходного кода, — это использование планировщика заданий , такого как cron , для ручной проверки изменений в репозитории каждые несколько минут, сообщая о любых изменениях обратно в MantisBT. [12]

SourceIntegration позволяет автоматически решать проблемы в MantisBT, когда сообщение набора изменений содержит специальные строки, такие как «Fixes #12345», которые можно настроить с помощью регулярных выражений . Это также позволяет автоматически создавать связи между наборами изменений и соответствующими проблемами, записанными в MantisBT. В одном сообщении набора изменений можно указать несколько идентификаторов проблем , хотя обычно это не рекомендуется, поскольку это указывает на то, что набор изменений не имеет единой, четкой и логичной цели. [14]

Незначительные особенности

В дополнение к функциям, упомянутым выше, MantisBT также поддерживает: [15]

Технический проект

Языки разработки

MantisBT в основном написан на PHP и использует SQL для взаимодействия с базами данных. Веб- интерфейс пользователя MantisBT написан с использованием HTML , который стилизован и представлен с помощью CSS . [16] Пользовательский интерфейс также использует клиентскую библиотеку JavaScript jQuery для предоставления дополнительных функций, таких как динамическое содержимое страницы на основе Ajax и JSON .

Инструменты разработки и сценарии сборки написаны преимущественно на Python с некоторым добавлением сценариев Shell и PHP .

Кодовая база MantisBT восходит к тому времени, когда поддержка PHP принципов объектно-ориентированного программирования находилась в зачаточном состоянии. [17] Начиная с версии 1.2.0, большая часть кодовой базы MantisBT по-прежнему использует принципы процедурного программирования , однако некоторые разделы были преобразованы для использования новой объектной модели PHP 5. [18] [19]

Хранение базы данных

Данные хранятся в системе управления реляционными базами данных с помощью библиотеки абстракции базы данных ADOdb . MantisBT поддерживает MySQL , MariaDB и PostgreSQL . Имеет экспериментальную поддержку Microsoft SQL и Oracle . [20]

MantisBT поддерживает путь обновления базы данных между версиями , постепенно изменяя схему базы данных . [21] Во время установки MantisBT изменения схемы базы данных воспроизводятся начиная с ранних версий MantisBT, чтобы достичь последнего состояния.

Требования

Для MantisBT требуется настроенный веб-сервер , интерпретатор языка программирования PHP и система управления реляционными базами данных , поддерживаемая MantisBT [11] и ADOdb . [22]

По состоянию на июнь 2022 года для стабильной ветки MantisBT требуется PHP 7.0 или более поздняя версия. [20]

Требуется несколько расширений PHP [11] для включения определенных функций или по соображениям производительности; расширение используемой СУБД (т. е. mysqli ) является обязательным.

MantisBT объединяет в себе ряд зависимостей с каждым выпуском, включая: [23]

Для построения графиков взаимосвязей между задачами требуется GraphViz . MantisBT также имеет альтернативную зависимость от коммерческой графической библиотеки JpGraph для построения статистики.

Смотрите также

Рекомендации

  1. ^ «Выпуск 2.26.2». 12 мая 2024 г. Проверено 23 мая 2024 г.
  2. ^ «Команда MantisBT. Это знаменует собой новую эру в жизни MantisBT, когда теперь это командный проект» . Гитхаб . 19 ноября 2021 г.
  3. ^ «Выпущена Mantis 1.0.0 (стабильная)» . Список рассылки объявлений MantisBT . SourceForge.net. 4 февраля 2006 г.
  4. ^ «Выпущена Mantis 1.1.0» . Блог об отслеживании ошибок Mantis . Mantisbt.org. 20 декабря 2007 г.
  5. ^ «Переход с SVN на Git». Список рассылки Mantisbt-dev . Sourceforge.net. 4 ноября 2008 г.
  6. Аметист Риз (10 ноября 2008 г.). «Первый коммит MantisBT Git». Гитхаб.com.
  7. ^ «Выпущена MantisBT 1.2.0» . Блог об отслеживании ошибок Mantis . Mantisbt.org. 22 февраля 2010 г.
  8. ^ «MantisBT переезжает на Github» . Список рассылки объявлений MantisBT . SourceForge.net. 12 июля 2011 г.
  9. ^ "MantisBT 1.2.0rc1 Релиз-кандидат 1" . Блог об отслеживании ошибок Mantis . Mantisbt.org. 23 июня 2009 г.
  10. ^ «Плагины отслеживания ошибок Mantis» . Deboutv.free.fr . Проверено 14 июля 2010 г.
  11. ^ abcde «Руководство по администрированию Mantis Bug Tracker». Архивировано из оригинала 2 декабря 2013 года . Проверено 11 ноября 2013 г.
  12. ^ аб Риз, Аметист (7 января 2009 г.). «Интеграция Git и SVN с системой отслеживания ошибок Mantis». NoSwap.com . Проверено 11 ноября 2013 г.
  13. ^ «Тон на LabVIEW: соединение Mantis с Rhodecode» . 6 июля 2011 г.
  14. ^ «Лучшие практики Subversion» . Проверено 22 августа 2012 г.
  15. ^ «Список функций богомола» . MantisBT вики . Mantisbt.org. 25 сентября 2012 года . Проверено 11 ноября 2013 г.
  16. ^ «Языки». Олох.нет. Архивировано из оригинала 8 декабря 2013 года . Проверено 12 ноября 2013 г.
  17. ^ «История PHP». PHP.net. 8 ноября 2013 года . Проверено 12 ноября 2013 г.
  18. ^ «Исходный код MantisBT». GitHub.com. 11 июня 2009 г.
  19. ^ «Исходный код MantisBT». GitHub.com. 6 февраля 2008 г.
  20. ^ ab «Руководство администратора». mantisbt.org . Проверено 7 июня 2022 г.
  21. ^ «Исходный код MantisBT — admin/schema.php» . GitHub.com . Проверено 12 ноября 2013 г.
  22. ^ «Руководство по ADODB». Phplens.com . Проверено 12 ноября 2013 г.
  23. ^ «Исходный код MantisBT — библиотека/README.libs» . GitHub.com . Проверено 12 ноября 2013 г.

Внешние ссылки