[rt-users] Seeking notification method advice

Gene LeDuc gleduc at mail.sdsu.edu
Wed Aug 22 19:04:56 EDT 2007

Replying to my own e-mail...

Hah!  Found an easy way in the wiki to get the addresses of the group 
members into your template.

my $group = RT::Group->new( $RT::SystemUser );
my $addresslist = $group->MemberEmailAddressesAsString;

Put the pieces from my previous post together with the above snippet and 
you should have a scrip and template that will do what you want.


At 02:40 PM 8/22/2007, Gene  LeDuc wrote:
>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
>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

Gene LeDuc, GSEC
Security Analyst
San Diego State University 

More information about the rt-users mailing list