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.