Ravenbrook / Projects / Perforce Defect Tracking Integration

Perforce Defect Tracking Integration Project


Perforce Defect Tracking Integration System Administrator's Guide

Richard Brooksby, Ravenbrook Limited, 2000-08-10

1. Introduction

This is the Perforce Defect Tracking Integration 0.2 System Administrator's Guide.

You should not be administering Perforce Defect Tracking Integration 0.2. It is a milestone release, not intended for use. See the project overview for information about planned releases.

2. Demonstrating the integration

The integration is not suitable for use, but it can be demonstrated. I recommend that you do not use the integration with live TeamTrack or Perforce servers. The integration has not been tested, and is very likely to destroy your data.

To demonstrate the integration:

  1. Acquire a computer running Windows NT.

  2. Install the demonstration TeamTrack server from the teamTrack demonstration CDROM, or download and run the installer from TeamTrack's web site (http://www.teamshare.com/support/ttrack.exe).

  3. Install Perforce 2000.1 (ftp://ftp.perforce.com/pub/perforce/r00.1/bin.ntx86/perforce.exe). Set P4PORT to 127.0.0.1:1666 and P4USER to Administrator.

  4. Install Python 1.5.2 (http://www.python.org/ftp/python/win32/py152.exe) and the Windows extensions (http://www.python.org/windows/win32all/win32all-125.exe).

  5. Add these fields to the Fields: section of the Perforce jobspec:

    110 P4DTI-rid word 32 required
    111 P4DTI-issue-id word 0 required
    112 P4DTI-user word 32 always
    113 P4DTI-status select 32 required

    and these other entries at the bottom of the Perforce jobspec:

    Preset-P4DTI-rid: None
    Preset-P4DTI-issue-id: None
    Preset-P4DTI-user: $user
    Values-P4DTI-status: ok/conflicting
    Preset-P4DTI-status: ok

    Make sure that Perforce has enough licences for the P4DTI replicator to create a user of its own (it will be called P4DTI-case). If you don't have a licence, you may need to delete all but one user so that the replicator can create its user under Perforce's free 2-user licence.

  6. Get hold of the following files and put them in a directory together:

    dt_teamtrack.py
    replicator.py
    replicator_test.py
    teamtrack.dll

    Go to this directory and run the Python interpreter.

  7. Type from replicator_test import r. This gives you the name r for the replicator. Type r.poll() to poll Perforce and the defect tracking server for changes and replicate them. Type r.run() to repeatedly poll until interrupted (or an error occurs).

3. Notes on version 0.2

Replication is two-way, of issues and jobs only.

By default, only the description field is replicated. You can specify more fields in the job-case-fields value in the configuration object you pass to the TeamTrack object when you create it. However, to replicate interesting fields like status and user you will need to write translation routines.

If a conflict is detected, the issue and the job are marked as conflicting. The replicator doesn't yet know how to deal with this (other than to report it). That means that you'll see the conflict reported each time the replicator polls the servers.

A. References

B. Document History

2000-08-10 RB Created placeholder.
2000-09-11 GDR Added instructons for demonstrating the integration and notes on version 0.2.

Copyright © 2000 Ravenbrook Limited. This document is provided "as is", without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this document. You may make and distribute verbatim copies of this document provided that you do not charge a fee for this document or for its distribution.

$Id: //info.ravenbrook.com/project/p4dti/version/0.2/manual/sag/index.html#1 $

Ravenbrook / Projects / Perforce Defect Tracking Integration