Mantis Bug Tracker
Mantis Bug Tracker is a free and open source web-based bug tracking system released under the terms of the GNU General Public License version 2. The most common use of MantisBT is to track software defects. However, MantisBT is often configured by users to serve as a more generic issue tracking system and project management tool.
The name Mantis and the logo of the project refer to the Mantidae family of insects, known for the tracking of and feeding on other insects, colloquially referred to as "bugs". The name of the project is typically abbreviated to either MantisBT or just Mantis.
Plug-ins
An event-driven plug-in system was introduced with the release of version 1.2.0. This plug-in system allows extension of MantisBT through both officially maintained and third party plug-ins. As of January 2010, there are over 20 plug-ins available on the MantisBT community Git repository hosting service, MantisForge.
Prior to the plug-in system in version 1.2.0, a third party plug-in system created by Vincent Debout was available to users along with a variety of different plug-ins. This system was not officially supported by the MantisBT project and is incompatible with the plug-in system provided with version 1.2.0 of MantisBT.
Notifications
MantisBT supports the sending of e-mail notifications upon changes being made to the system. Users have the ability to specify the type of e-mails they receive and set filters to define the minimum severity of issues to receive notifications about. Users also have the ability to explicitly subscribe to issues that affect them.
RSS feeds are available for users who wish to keep track of issues that have been resolved. Additionally, MantisBT has integration with Twitter to allow a notification to be tweeted when an issue is resolved.
Via MantisBT's event-driven plug-in system, it is possible to extend the built in notification support to run advanced scripts that perform additional notification actions (such as sending SMS messages or updating statuses in external project management systems).
Revision control system integration
Versions of MantisBT prior to 1.2.0 allowed for limited integration with the CVS revision control system. With the introduction of plug-in capabilities in MantisBT 1.2.0, revision control integration was redeveloped by John Reese in the SourceIntegration plugin.
As of January 2010, SourceIntegration allows for integration with the following revision control tools and web-based providers:
- Gitweb, a free and open source web interface for Git repositories
- GitHub, an open-source software hosting facility that hosts Git repositories
- WebSVN, a free and open source web interface for Subversion repositories
- SourceForge (for Subversion integration only), an open-source software hosting facility that hosts various types of software repositories
Upon committing changesets to a source code repository, post-commit hooks within Git or Subversion can be configured to automatically notify MantisBT that changes have been made to the repository. GitHub is also capable of remotely notifying a MantisBT installation of changes to a source code repository. Another technique used for integrating MantisBT with web-based source code hosting providers is the use of a job scheduler such as cron to manually check for changes to a repository every few minutes, reporting any changes back to MantisBT.
SourceIntegration allows for issues within MantisBT to be automatically resolved when a changeset message contains special strings such as "Fixes #12345". This also allows for relationships to be automatically created between changesets and issues recorded in MantisBT. Multiple issue IDs can be specified in a single changeset message, although this is commonly discouraged as it indicates the changeset doesn't have a single, clear and logical purpose.