Table of Contents

Synchronization between different Mantis Instances

Author: Martin Fuchs

Introduction

There has been a recent discussion on the mailing list about synchronization between different mantis instances and “bug replication”. There seem exist already a few home brewn tools to full fill the main requirements, but there is still missing a generalized solution. I have also written some utilities for our special environment, but they are implemented in C++ and Java, as I am not a PHP programmer. They are also using a Web service, but are independent from MantisConnect. This are the reasons why I guess you are not willing to take my code as starting point. ;-) So let's start again with the design phase and write down the requirements for a synchronization solution between different Mantis instances in this Wiki page. In the following descriptions there are some links to my Mantis test installation, which can be used as a reference implementation to see a living example of two connected instances with reporting functionality). Here is a screenshot of the client application I am using to manually copy the entries of one instance to another.

Requirements

 . new entries from slave to master
 . newly attached notes from slave to master
 . status changes from master to slave
 . In the external instance there are stored the IDs of internal entries.
 . In the internal instance there are stored the URLs to immediately jump to the external entries.
. Following Attributes should be displayed on both sides: ID, Status, Severity, Summary. Other columns to display could be configured optionally.
. The list items should contain HTML links to go directly to the related Mantis entries.
. Filtering functionality at least for the status is very useful in this list, for example to get a quick overview of open issues.

Implementation

 . system_id - integer
 . name - string
 . url - string
 . username - string
 . password - string
 . master_system_id - integer
 . slave_system_id - integer
 . master_system_id - integer
 . slave_system_id - integer
 . master_bug_ids - string (list of associated master bug IDs separated by spaces)
 . slave_bug_id - integer

Feedback

Please add your comments and feedback in this section.