• Stars
    star
    181
  • Rank 211,438 (Top 5 %)
  • Language
    PHP
  • License
    MIT License
  • Created over 14 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Source control integration plugin framework for MantisBT, including support for Github, Gitlab, Bitbucket, Gitea, Gitweb, Cgit, Subversion, Mercurial and more

Mantis Source Integration

Gitter

Copyright (c) 2008 - 2012 John Reese - https://noswap.com
Copyright (c) 2012 - 2022 MantisBT Team - [email protected]

Released under the MIT license

Description

The Source plugin provides a flexible framework for fully integrating any sort of Version Control System (VCS) with Mantis, including support for multiple repositories, changesets or revisions, and file path tracking. It has many features already, such as importing repository history and optional support for remote check-ins or imports, and utilizes a class-based API to access objects in the database.

Initial support is included for Subversion and Git repositories using the following extension plugins:

  • SourceBitBucket: Git repositories hosted on BitBucket.
  • SourceCgit: Git repositories accessible via a cgit web frontend installation.
  • SourceGithub: Git repositories hosted on GitHub.
  • SourceGitlab: Git repositories hosted on GitLab.
  • SourceAzureDevOps: Git repositories hosted on Azure DevOps Services Repos.
  • SourceGitphp: Git repositories accessible via a Gitphp web frontend installation.
  • SourceGitweb: Git repositories accessible via a GitWeb web frontend installation.
  • SourceHgWeb: Mercurial repositories accessible via a HgWeb frontend installation.
  • SourceSFSVN: SVN repositories hosted on SourceForge.
  • SourceSVN: SVN repositories locally accessible by the SVN binaries.
  • SourceViewVC: SVN repositories accessible via a ViewVC web frontend installation.
  • SourceVisualSVNServer: SVN repositories hosted on a VisualSVN Server installation, with support for URL linking from MantisBT to VisualSVN Server's built-in web frontend.
  • SourceWebSVN: SVN repositories accessible via a WebSVN web frontend installation.

Support for additional source control tools should be rather straightforward to implement due to the flexibility inherent in the integration framework and API.

Requirements

The Source Integration framework requires MantisBT version 2.21.0 or higher.

VCS plugins

Some VCS plugins have additional, specific requirements:

Installation

Compatibility

The Source Integration framework's version numbering follows Semantic Versioning. Major version increments indicate a change in the minimum required MantisBT version.

See the Change log for detailed revision history.

Depending on which version of MantisBT you are using, please make sure to get the appropriate version of the source code. Use release tags, or the relevant branch in the Plugin's GitHub repository, as per the table below:

MantisBT version Tags Branch Notes
2.x v2.* master Current release
1.3.x v1.* master-1.3.x Support ended 2020-12-31
1.2.x v0.* master-1.2.x Support ended 2017-06-30

Setup instructions

  1. Download the appropriate version (see Compatibility section above) or clone a copy of the source code and checkout the correct branch.

  2. Copy the primary Source plugin (the Source/ directory) into your Mantis installation's plugins/ directory.

  3. Copy all the remaining plugins, or just the appropriate ones for your repositories, into your Mantis installation's plugins/ directory.

  4. While logged into your Mantis installation as an administrator, go to 'Manage' -> "Manage Plugins".

  5. In the "Available Plugins" list, you'll find the "Source Control Integration" and additional plugins:

    a. First, click the "Install" link for the "Source Control Integration" plugin.

    b. Next, click the "Install" link next to any additional Source Control plugins appropriate for your repositories.

  6. Click on the "Source Control Integration" plugin to configure it.

    NOTE: an API Key must be set up to import changesets via shell. To generate a random key, run

     openssl rand -hex 12
    
  7. Go to "Repositories" and enter your repository name, select the repository type, and click "Create Repository" to begin adding your first repository.

  8. Configure the repository, following the specific documentation for the relevant plugin extension:

  9. Once configured, click the "Return to Repository" link and click either the "Import Everything" or "Import Newest Data" button to perform initial import of repository changesets and verify configuration.

  10. Once satisfied that your repository is configured & working correctly, you can automate the import of new changesets by configuring a cron job on the web server where your Mantis installation resides, as follows:

    • import via curl (could run into timeouts on large repositories, or block your webserver)

        curl "http://host.domain.tld/mantisbt/plugin.php?page=Source/import&id=all&api_key=<YOUR_API_KEY>"
      
    • import via shell

        php-cgi -f plugin.php page=Source/import id=all api_key=<YOUR_API_KEY>
      

      Please be aware of the difference between php-cgi and php-cli. The import won't run with php-cli.

    This will import new changesets for all configured repositories.

  11. You can also configure event-driven import of new changesets. Many source control systems support configurable hooks or triggers which can be used to notify the Source plugin that new commits or revisions are available for import. This improves user experience by eliminating delays between source control commits and MantisBT state updates.

    Refer to the configuration documentation for the relevant plugin extension(s) for more information.

  12. Add additional repositories as needed.

Support

The following support channels are available if you wish to file a bug report, or have questions related to use and installation:

All code contributions (bug fixes, new features and enhancements, additional VCS integration plugins) are welcome and highly encouraged, preferably as a Pull Request.

The latest source code is available on GitHub; John Reese's original project documentation can be found on his website, noswap.com.

More Repositories

1

EmailReporting

PHP
74
star
2

scrum

Scrum board based on statuses, priorities, and target versions
PHP
35
star
3

BBCodePlus

BBCode plugin for Mantis BugTracker 1.3 and 2.x
CSS
29
star
4

timetracking

PHP
28
star
5

MantisKanban

PHP
23
star
6

Announce

Announcements plugin for MantisBT, lets privileged accounts create and post announcements that can be shown to users on a global or per-project basis, and allow users to dismiss individual messages.
PHP
20
star
7

GanttChart

Gantt Chart Plugin for Mantis
PHP
16
star
8

EasyEnter

MantisBT plugin to slim down the bug report page to make it more accessible for unexperienced users
PHP
16
star
9

Calendar

Adds the task scheduling function in MantisBT based on the calendar of events with the possibility of one-way synchronization with Google Calendar.
PHP
15
star
10

TelegramBot

PHP
15
star
11

agileMantis

Enables the Scrum Framework to your Mantis-Installation
PHP
15
star
12

timecard

Time estimation, tracking and per-project reporting
PHP
12
star
13

Reminder

This plugin can be used to send periodic email reminders to bug reporters, managers, and assignees.
PHP
12
star
14

GaugeSupport

Voting for tickets (for Mantis 2.x)
PHP
9
star
15

GoogleOauth

Google Oauth 2.0 function for mantisBT.
PHP
9
star
16

google-analytics

Google analytics integration
PHP
9
star
17

Freemind

Freemind Plugin for Mantis Bug Tracker
PHP
9
star
18

highlightcode

CSS
8
star
19

jquery

jQuery support (mantisbt-1.2.x only)
PHP
8
star
20

CustomizeEmailSubject

Customize Email Subject for MantisBT - This plugin is looking for a new maintainer !
PHP
8
star
21

Snippets

Define snippets of text that can be easily pasted into text fields
PHP
8
star
22

CustomReporter

MantisBT plugin allowing selection of a Reporter on the Report Issue page
PHP
8
star
23

SearchRelatedIssue

The plugin implements a live search for related issues during the creation of a new issue.
PHP
8
star
24

traceability

PHP
7
star
25

jabber-notify

Jabber Notify System
PHP
7
star
26

customer-management

MantisBT Customer Management plugin
PHP
6
star
27

releasemgt

Release Management Plugin for MantisBT
PHP
6
star
28

workload

PHP
6
star
29

LinkedCustomFields

MantisBT plugin allowing custom fields to be linked, creating linked drop-downs
PHP
6
star
30

EventLog

EventLog Plugin for Mantis Bug Tracker
PHP
5
star
31

InlineColumnConfiguration

Easy configuration of the available columns in the view issues page
PHP
5
star
32

JqueryChosen

[UNMANTEINED] Support the Library Chosen to MantisBT (Chosen is a library for making long, unwieldy select boxes more friendly. http://harvesthq.github.io/chosen/)
JavaScript
5
star
33

Activity

Activity plugin for Mantis bug tracker. Shows bug notes by creation date.
PHP
4
star
34

FilterBugList

Mantis Plugin adding a field in the filter to filter by a given list of bug IDs
PHP
4
star
35

ApiExtend

Extend the MantisBT REST API with issue count and version badges
PHP
4
star
36

piwik

Piwik analytics integration
PHP
4
star
37

faq

PHP
4
star
38

bbcode

PHP
4
star
39

Mantisbt-Combobox

makes projekt drop down to a ajax combobox
JavaScript
4
star
40

inline-history

Show issue history entries interleaved with bug notes
PHP
4
star
41

SampleAuth

A sample authentication plugin
PHP
3
star
42

filter-page-edit

Allows editing of fields in the filter page
PHP
3
star
43

JNestor

JNestor converts your emails in mantis issues. JNestor adds the issue number to your emails if you want and have several custom configurations
Groovy
3
star
44

search

PHP
2
star
45

jQuery-UI

Provides access to the jQuery UI library in a single dependency (mantisbt-2.x, mantisbt-1.2.x)
PHP
2
star
46

VEditor

HTML
2
star
47

irc

IRC web chat integration
PHP
2
star
48

PersonalizacionBotonesNotas

This module allows you to add a button next to each note of a issue to send the note by email. Developed by I3Net (http://www.i3net.es/)
PHP
2
star
49

Eannounce

A MantisBT plugin to send emails to users of a project with a given profile
PHP
2
star
50

mantweet

ManTweet Plugin for Mantis Bug Tracker
PHP
2
star
51

SimpleSAMLphpAuth

Authentication plugin for SimpleSAMLphp
2
star
52

CommitReact

Set 'fixed in version' and others on commit
PHP
1
star
53

TriggerClose

PHP
1
star
54

adLogin

Automatic login based up[on AD credentials
PHP
1
star
55

mailtemplate

Enable html emails (not a true plugin)
PHP
1
star
56

jsedit

This plugin obsolete. Please use BBCodePlus.
CSS
1
star
57

Holidays

A MantisBT plugin to handle user absence
PHP
1
star
58

ServiceLevel

MantisBT Plugin: Additional SLA Related Analysis Screens
PHP
1
star
59

Motives

Motives plugin for MantisBT. It allows privileged accounts to add bonuses and fines for users
PHP
1
star
60

MonitorsReport

Mantis plugin: report shows users monitoring issues
PHP
1
star
61

ProjectPages

Display links in MantisBT side navigation bar based on current project
PHP
1
star
62

DownloadFiles

Mantis plugin: adds to the bug the ability to download selected files in one archive
PHP
1
star
63

Cloneproject

This plugin allows cloning of a project including all additional data such as Hierarchy, Sub Projects, Categories, Custom filelds and users.
PHP
1
star
64

Query

This plugin will enable you to define multiple queries/scripts which: 1. can be run online (by admin) 2. can be scheduled in which case results are emailed to nominated recipients
PHP
1
star