Additional Tools
This page contains links to additional tools that work with FIT.
fbtcmd.pl
Version: 0.5 - (Aug 17, 2004)
Commandline tool to interface with FIT.
This tool uses the FIT SOAP interface to query, create and update issues within the system. It is built on top of Perl, SOAP::Lite, and optionally Text::ASCIITable.
Release notes:
This tool is incomplete and should be considered development quality. Back-up your FIT system before using this tool. There is no warranty that this will work.
Syntax:
fbtcmd.pl <command> <options>
Where <command> is:
getId - retrieve the details of a single issue.
getList - retrieve a list of issues.
create - create a new issue.
update - update an existing issue.
<options> are:
TBD
Examples:
Retrieve issue 1 details:
fbtcmd.pl getId 1
Update issue 5 updating the status to "Ready For Retest":
fbtcmd.pl update --mId=5 --mStatus="Ready For Retest" --mDescription="Here is a description..."
Create a new issue:
fbtcmd.pl create --mSubject="Problem with code" --mAssignedTo="cjustus" --mDescription="There is a problem with the code at line 123... Please investigate immediately" --mStatus=Open --mProject="Project 1"
Query all issues assigned to cjustus - retrieving id, subject, and priority:
fbtcmd.pl getList --mAssignedTo=cjustus --mColumn=mId --mColumn=mSubject --mColumn=mPriority
cvsupdate.pl
Version: 0.5 - (Aug 17, 2004)
Commandline tool to tie cvs loginfo with fbtcmd.pl.
This tool is called by cvs, parses messages out of the commit log, and updates FIT. It is dependent on fbtcmd.pl.
Release notes:
This tool is incomplete and should be considered development quality. Back-up your FIT system before using this tool. There is no warranty that this will work.
Integrating FIT with CVS and CVSWEB.CGI:
Alcea has created a set of scripts that allows a developer, when checking in changes to CVS, to enter .issue 123, 456, 789. in the cvs commit comments, which will:
- Automatically update the specified issues, adding links to a cvsweb tool as well as the commit comments to the issue description.
- Re-assigning the issue (and updating the status as well).
- Trigger FBT's notification logic.
Note:
These scripts are provided without warranty. They are should be considered development quality (vs. production quality) . They will be changing, and will improve over time. Use at your own risk.
Requirements:
On the CVS server:
- fbtcmd.pl -- a command-line interface to FIT (which in turn requires)
- cvsupdate.pl -- a perl program which parses cvs commitinfo data, and calls fbtcmd.pl
- cvsweb.cgi -- if you want to allow links from FIT to a web interface of your CVS installation so that you can quickly view differences in what has been commited.
On your FIT server:
- A recent version of FIT (version 4.24 and up)
- Soap Enabled (Admin Menu->SOAP . check enable . for security purposes you might want to put the IP address of your CVS server to prevent soap calls from other machines).
Steps:
Step One:
Ensure that fbtcmd.pl can communicate with FIT
- Edit fbtcmd.pl so that SERVICE points to your FIT installation. Test by running: fbtcmd.pl getId 1
- You should see the details of issue #1 in your system, in xml format.
- Edit cvsupdate.pl so that it points to the full path to fbtcmd.pl . you will likely want to update the SERVICE variable as well to point to your installation of FIT.
Step Two:
Configure your cvs installation so that it is calling cvsupdate.pl, and that cvsupdate.pl is calling fbtcmd.pl
- Check out your CVSROOT module from CVS. (cvs co CVSROOT)
- Edit the file loginfo, adding the following:
DEFAULT (id .un; echo %{sVv}; date; cat) | /usr/local/bin/cvsupdate.pl
- (Note you can replace DEFAULT with a specific CVS module name . this might be handy to run this initially on a module for testing purposes)
- Commit this change.
Step Three:
Configure FIT to point to your cvsweb location
- In the FIT directory . edit the file lang.cfg
Add the following lines:
- sCVSWEB,http://cvswebserver/cgi-bin/cvsweb.cgi
sCVSWEBOPT,&f=h
- Where http://cvswebserver/cgi-bin/cvsweb.cgi is the path to your cvsweb.cgi script.
Step Four:
End to end test:
- In a module that is covered by your CVSROOT/loginfo update, make a change and commit . In the comments include "issue 1" in the commit comment. Issue 1 should be reassigned to the creator, and links to cvsweb should be included in the update.
If you require any assistance, please contact us.