Intro

Scarab is a pretty good open source tool for issue management (bug-tracking, or as they like to call it, artifact management) unfortunately its e-mail handling leaves a lot to be desired. With this in mind, I wrote this entire mess of Perl to assure we have e-mail delivered where we want it and not anywhere else.

This will be useful to you if:

Why?

Because I can! Well, not, not really. I found there are two ways to get e-mail out of Scarab

(a) Everyone in the universe who has touched the issue in question in some way.
(b) A mailing list that by definition includes everyone in the universe that can possibly be interested in an issue from the given module.

This is meant to give us flexibility in how Scarab e-mail is directed, as an example, if the issue was set "toDev" we only want developers associated with the particular module to see an e-mail about it. This eliminates unnecessary e-mail to a QA person that already knows he's directing the issue and saves him/her from assigning a developer to it just to produce an e-mail.

Looking through the scarab development mailing list archives, you may find that this issue has been brought up many times before but there has been no real resolution. This isn't a real resolution, it's just a hack and it was easier than attempting to modify Scarab code to behave properly.

What you will need.

Part I

First things first, creating a bunch of mailing lists that divide our users according to their role in Scarab. This can be done with some simple mailing-list software, but then it requires manual configuration to add and remove users. I wrote a script that rebuilds the lists from Scarab's database on the fly. In short, the script creates flat files containing a list of users for each role/module combination.

Things to do:

First part done, you should now have some working mailing lists that are based on user's roles in each module.

Part II

Configuring postfix to use the filter. There is only one thing that is common in all e-mails coming out of scarab, the Reply-To header. This is what we filter on using header-checks.

Things to do:

Finito

In theory, this should all now work, of course, as anyone who has done system administration knows, that never happens. Turn up debug in the script, check /var/log/maillog and check the maillog generated by the script (it's configurable in the script as to where it should live)

This script is most useful if you can customize it to your particular setup (scarab modules, roles and events). It's all documented pretty clearly in the script itself, so please, make sure to read the comment section if you're going to use it.

Questions, comments, mockery? E-mail me at kasia@ this domain.

Last updated Sun Feb 8 21:47:54 EST 2004