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 );
$group->LoadUserDefinedGroup($bldg);
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.

Regards,
Gene

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.
";

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
<[EMAIL PROTECTED]>, Gene  LeDuc
<[EMAIL PROTECTED]> 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: [EMAIL PROTECTED]
>>
>>
>>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
_______________________________________________
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


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
_______________________________________________
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com

Reply via email to