Third Party Defect Tracking Integration with Perforce
TASK
How do I integrate third-party defect tracking with Perforce?
SOLUTION
The options for performing defect tracking with Perforce:
- Use the Perforce built-in "jobs" features alone.
- Use the Perforce Defect Tracking Integration (P4DTI)
in conjunction with Perforce "jobs". - Use the Perforce Defect Tracking Gateway.
- Create a custom defect tracking integration.
The Perforce Built-In jobs Features
Perforce jobs provide a method for identifying units of work such as bugs or enhancement requests, then associating these jobs with actual work done (changelists). This basic defect tracking functionality is described in detail in our User's Guide.
The Perforce Defect Tracking Integration -- P4DTI
Free integration, using P4DTI, is available for the defect tracking systems by Bugzilla. For more information on the integration with the open source Bugzilla system, please see the P4DTI product information page.
The P4DTI is a good place to start if you want to integrate Perforce with your own in-house defect tracking system, or develop an integration with a third party defect tracker. The source code is part of the P4DTI integration kit. For more information, see the P4DTI product information page.
Even if you do not use the P4DTI source code, we recommend using a similar design. The design documents for P4DTI are included in the P4DTI kit.
The Perforce Defect Tracking Gateway
The Perforce Defect Tracking Gateway enables you to integrate Perforce jobs with external defect trackers, so that changes to the status of defect tracker issues are replicated in Perforce jobs and changes in Perforce jobs are replicated to the defect tracker. Currently the Perforce Defect Tracking Gateway is available for Windows, Linux, and FreeBSD platforms. For more information, please take a look at the Perforce Defect Tracking Gateway product information page.
For each type of defect tracker, a plug-in is required (for example, the included plug-in for Mercury's Quality Center 9.0). An SDK is also available that allows customer and vendors to develop integrations to support commercial and in-house defect tracking systems. For more information about the P4DTG SDK please contact partners@perforce.com.
Custom Defect Tracking Integrations
Other options for integrating Perforce with defect trackers include the following:
- A trigger or script on the defect tracking system side which adds/updates/deletes a job in Perforce every time a bug gets added/updated/deleted in your defect tracking system. (That is, the defect tracking system issues a p4 job -i command and passes it the appropriately formatted data.)
- A trigger on the Perforce side which checks changelists being submitted for any necessary bug fix information. (See the sample Perforce triggers referencing jobs in the Perforce Public Depot.)
- A Perforce review daemon which checks successfully submitted changelists for job fixes, and issues the appropriate commands to update corresponding data in your defect tracking system.
There are customers currently integrating Perforce with their own in-house defect tracking systems, and with third-party systems like Remedy, Scopus, and ClearTrack. If you are interested in what other users have done, it is recommended that you check the Perforce-user mail archive for recent postings on defect tracking. You should also consider posting to the list to ask if anyone has integrated Perforce with a third-party tool you are interested in -- by the time you have done so, someone might already have done the dirty work. (Remember to register on our Mailing Lists page before posting so your email gets distributed.)
The following perforce-user postings might be particularly helpful:
- Recommendations for Defect Tracking Solutions (20 Jun 2006)
- Must Choose a Defect Tracker (9 Aug 2005)
