[rt-users] Seeking notification method advice

Gene LeDuc gleduc at mail.sdsu.edu
Wed Aug 22 17:40:07 EDT 2007

Hi Tim,

I'm not volunteering to build a custom module, but I don't think you need 
one.  I'm pretty sure you can do what you want simply with a User Defined 
condition that traps the custom field change and NotifyOtherRecipients as 
the action.  You make a custom template that has your basic boilerplate in 
it and do a little bit of coding to get the contents of the custom field 
and then the members of that group and then the e-mail addresses of the 
group's members.

Your scrip condition would be something like:
   return $self->TransactionObj->Type eq 'CustomField' && 
$self->TransactionObj->Field eq 'Building';

In your template you get the value of the field with:
   my $bldg = $Ticket->FirstCustomFieldValue('Building');

I haven't written anything to enumerate members of a group, but it's 
probably pretty straightforward.  After you get the group members, you 
cycle through them using something like:
   my $addresslist = "";
   while ( my $user = $Group->Next ) {
     $addresslist .= ", " if $addresslist;
     $addresslist .= $user->EmailAddress;

Then you do the e-mail:
   $OUT = "From: $from_address
To: $addresslist
Subject: $subject

Boilerpalte text goes here.


At 02:09 PM 8/22/2007, Tim Wilson wrote:
>This looks like a useful and flexible approach. I already have an "On 
>Create" scrip that inspects the requestor and sets the "Building" custom 
>field from the user's LDAP record. Now it seems to me that the best 
>approach going forward is to create a scrip that triggers whenever that 
>custom field gets changed. That should fire off after the original On 
>Create scrip runs and anytime the field is changed subsequently, right? (I 
>can imagine a situation where the Building CF would be set incorrectly 
>requiring some manual intervention. Tying the scrip to that CF value 
>changing would be useful in that situation.)
>For the Condition, I'll use the custom one referenced in the wiki here:
>The template seems straightforward too.
>That leaves me with a question about the scrip action. To make it as 
>generalizable as possible, wouldn't I want to create an Action as a perl 
>module (let's call it "Notify Building Tech Team") that grabs the newly 
>changed "Building" custom field value and then pulls the list of techs 
>from the corresponding group? This shouldn't require a custom action for 
>each different building right?
>Next question: Who can build this for me? It's well outside my perl 
>comfort zone, and I'll pay the going rate. Send me a private email if 
>you're interested.
> >>> On Wed, Aug 22, 2007 at 10:33 AM, in message
>< at mail.sdsu.edu>, Gene  LeDuc
><gleduc at mail.sdsu.edu> wrote:
> > Hi Tim,
> >
> > The number of schools is small enough that I'd do it this way:
> > 1.  Create a group with the same name as each school (BHS in this
> > case).  The members of the group are the respective techs.  This lets you
> > scale to multiple techs at a single location or have a single tech cover
> > multiple locations.
> > 2.  When you get the info from your LDAP query (BHS), use it to get the
> > e- mail address of each member of the BHS group, then send your 
> notification
> > to the resulting e- mail list.
> > 3.  As techs come and go, just update the group membership.
> >
> > Have fun!
> > Gene
> >
> > At 08:04 PM 8/21/2007, Tim Wilson wrote:
> >>Hi everyone,
> >>
> >>Our RT system is used throughout our school district which includes eight
> >>different schools. Each school has its own technician who handles the vast
> >>majority of tech support requests at that school. All of our RT tickets
> >>feed into a central queue called "Incidents," a design decision that
> >>allows our techs to help one another by dipping into the Incidents queue
> >>to grab tickets when they have time.
> >>
> >>I just finished a scrip action that sets a custom field for each ticket in
> >>the Incidents queue based on the result of an LDAP query. For example, if
> >>a teacher from our high school submits a ticket, a ticket custom field
> >>called "Building" gets set to "BHS".
> >>
> >>Now here's the issue: I'd like to notify the technician at a particular
> >>school when someone from that school submits a ticket. I don't want to set
> >>the tech as the ticket owner because it's possible that another tech will
> >>actually grab it. And I don't want to overwhelm all the techs by notifying
> >>them of every incoming ticket.
> >>
> >>What's the best approach?
> >>
> >>Would it help to create a user custom field and set that to the 
> building too?
> >>
> >>Could I use the SendEmailAction for this and create a version of the
> >>template for each of the techs?
> >>http://wiki.bestpractical.com/view/SendEmailAction
> >>
> >>I'd love to hear what some of you think.
> >>
> >>- Tim
> >>
> >>--
> >>Tim Wilson, Director of Technology
> >>Buffalo- Hanover- Montrose Schools
> >>214 1st Ave NE   Buffalo, MN  55313
> >>ph: 763.682.8740  fax: 763.682.8743  http://www.buffalo.k12.mn.us
> >>
> >>
> >>
> >>
> >>_______________________________________________
> >>http://lists.bestpractical.com/cgi- bin/mailman/listinfo/rt- users
> >>
> >>Community help: http://wiki.bestpractical.com
> >>Commercial support: sales at bestpractical.com
> >>
> >>
> >>Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
> >>Buy a copy at http://rtbook.bestpractical.com
> >
>Tim Wilson, Director of Technology
>Buffalo-Hanover-Montrose Schools
>214 1st Ave NE   Buffalo, MN  55313
>ph: 763.682.8740  fax: 763.682.8743  http://www.buffalo.k12.mn.us

Gene LeDuc, GSEC
Security Analyst
San Diego State University 

More information about the rt-users mailing list