Ravenbrook / Projects / Perforce Defect Tracking Integration / Version 2.0 Product Sources / Design

Perforce Defect Tracking Integration Project


Tracker Requirements and Design

Robert Cowham, Vaccaperna Systems Ltd, 2004-02-09

1. Introduction

This document describes the Serena (was Merant and before that PVCS) Tracker integration - for Tracker versions 7.5 and 8.0.

The purpose of this document is to act as a reference while developing P4DTI code which interacts with Tracker.

The intended readership is P4DTI developers.

This document is not confidential.

2. Tracker overview

Tracker is a defect tracking system, produced by Serena (Merant/PVCS) with a Windows GUI front-end and with a flexible back-end, e.g. SQL Server. It has a C API which is directly callable from Python (via a specific module).

3. The requirements

This integration was performed for a specific client with specific requirements. There was no budget for generalising or testing general features. However, the resulting integration followed the guidance in the P4DTI Integrator's Guide quite closely and should be relatively easily extenable.

The requirements are listed below.

The SCR system is the master issue tracking system, Perforce jobs are used to integrate SCRs to Perforce. Hence Tracker is the authority and master for any issue data.

For each SCR there will be a Perforce Job of the name "SCR<scr number>", for example "SCR08712".

Jobs created in Perforce will not be replicated to tracker (they will be ignored).

Perforce actions concerned with creating, editing or closing Jobs will automatically update the SCR module associations corresponding to the Job's changelists.

Fields to be replicated from Tracker to Perforce are:

Changes to any of these fields in Tracker will update the mapped Perforce field, changes to these fields in Perforce will not be replicated to Tracker.

When a job is closed (for example by successful submit of a change list), the following fields will automatically be updated in Tracker:

Any other changes in Perforce will not be replicated to Tracker.

All changes are logged - any change made to SCRs by Perforce will add additional note/comment entries to the effected SCRs.

All integration operations to Tracker will show up as being made by the user (rather than by the server account) - this requires all users to have a "known" password.

4. The Design

The design basically followed the Integrator's Guide.

New modules:

The replicator uses the "transaction id" from Tracker to identify recent changes. This value is stored in a tracker.ini file (in same dir as code) between runs - not perhaps ideal, but sufficient for purpose.

The Module Associations requirement was implemented using the "replicate fixes" feature - a configurable URL to the relevant changelists was inserted in the module association - users can double-click on this to go to a P4Web browser and view changelist details (e.g. files).

A. References

See P4DTI Integrator's Guide.

B. Document History

2004-02-09 RHGC Created.

This document is copyright © 2003-2004 Vaccaperna Systems Ltd. All rights reserved.

Redistribution and use of this document in any form, with or without modification, is permitted provided that redistributions of this document retain the above copyright notice, this condition and the following disclaimer.

This document is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright holders and contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this document, even if advised of the possibility of such damage.

$Id: //guest/robert_cowham/perforce/p4dti-tracker/main/design/tracker-design/index.html#2 $