Additional Tools

This page contains links to additional tools that work with Alcea.

fbtcmd.pl

Version: 0.5 – (Aug 17, 2004)

Commandline tool to interface with Alcea.

This tool uses the Alcea 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 Alcea 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 Alcea. It is dependent on fbtcmd.pl.

Release notes:

This tool is incomplete and should be considered development quality. Back-up your Alcea system before using this tool. There is no warranty that this will work.

Integrating Alcea 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 Alcea (which in turn requires)
    • Perl
    • SOAP::Lite
  • cvsupdate.pl — a perl program which parses cvs commitinfo data, and calls fbtcmd.pl
  • cvsweb.cgi — if you want to allow links from Alcea to a web interface of your CVS installation so that you can quickly view differences in what has been commited.

On your Alcea server:

  • A recent version of Alcea (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 Alcea

  1. Edit fbtcmd.pl so that SERVICE points to your Alcea installation. Test by running: fbtcmd.pl getId 1
  2. You should see the details of issue #1 in your system, in xml format.
  3. 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 Alcea.

Step Two:

Configure your cvs installation so that it is calling cvsupdate.pl, and that cvsupdate.pl is calling fbtcmd.pl

  1. Check out your CVSROOT module from CVS. (cvs co CVSROOT)
  2. Edit the file loginfo, adding the following:DEFAULT (id .un; echo %{sVv}; date; cat) | /usr/local/bin/cvsupdate.pl
  3. (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)
  4. Commit this change.

Step Three:

Configure Alcea to point to your cvsweb location

  1. In the Alcea directory . edit the file lang.cfgAdd the following lines:
  2. sCVSWEB,http://cvswebserver/cgi-bin/cvsweb.cgisCVSWEBOPT,&f=h
  3. Where http://cvswebserver/cgi-bin/cvsweb.cgi is the path to your cvsweb.cgi script.

Step Four:

End to end test:

  1. 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.