[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.
";
Regards,
Gene
At 02:09 PM 8/22/2007, Tim Wilson wrote:
>Everyone,
>
>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:
>http://wiki.bestpractical.com/view/OnCustomFieldValueChange
>
>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.
>
>Thanks.
>
>-Tim
>
> >>> On Wed, Aug 22, 2007 at 10:33 AM, in message
><6.2.1.2.2.20070822082810.02570978 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