[rt-users] Send email from template

Givano givano at gmail.com
Tue May 4 03:07:08 EDT 2010


Hello Kenn,

thanks for your scrip, I'm using the rt-crontool for ticket escalation and
could not find out how to use custom actions with rt-crontool, maybe you
have a hint for me.

Thanks, Ivan

2010/5/3 Kenneth Crocker <kfcrocker at lbl.gov>

> Givano,
>
> I have a scrip that sets the owner based on the value in a Custom Field.
> Look at it and modify it to meet your needs:
>
> # Custom Action preparation code
>
> my $trans = $self->TransactionObj;
> my $ticket = $self->TicketObj;
>
> #
> # set new ticket owner id value
> #
> #    42 -  Bob
> #   148 - Carol
> #  5125 - Ted
> #  9324 - Alice
> #
>
> my %orgs = qw(
>            Budget         148
>            Controller      5125
>            Facilities      42
>            Field-OPS    5125
>            Property       9324
>            SPO            148
>            Travel           5125
>            Other           42
>           );
>
> my $cf = new RT::CustomField($RT::SystemUser);
> $cf->LoadByName(Queue => $ticket->QueueObj->id,Name => "CFO-Org");
>
> # check for valid CF-Org value first,
> # then set new Ticket Owner ID
>
> if ($cf->id)
>     {
>      my $cfvalue = $ticket->FirstCustomFieldValue('CFO-Org');
>      my $ownerid = $orgs{$cfvalue};
>      $ticket->SetOwner($ownerid);
>     }
>
> return 1;
>
> You could easily replace the owner Ids with your email address and instead
> of setting the ownerid, set the "To" address or whatever.
>
> Anyway, hope this helps. It sure works for us.
>
> Kenn
> LBNL
>
> On Mon, May 3, 2010 at 8:49 AM, Givano <givano at gmail.com> wrote:
>
>> Hi,
>>
>> I'm trying to send an email from template, initiated by rt-crontool as
>> described in wiki, the only trick is that dependent on custom field it
>> should be sent to other persons group. Here my template, somehow it always
>> send to user1 and user 2.
>>
>> ########################
>> Subject: new ticket, 30 minutes unowned!
>> RT-Send-Cc: { my $values = $Ticket->CustomFieldValues('CIT_Category');
>>   my $OUTPUT;
>>   my $CFValue;
>>   while ( my $value = $values->Next ) {
>>     $CFValue = $value->Content;
>>     if ($CFValue == 'IT Facilites') { $OUTPUT = 'user1 at dom.com,
>> user2 at dom.com' }
>>     elsif ($CFValue == 'Linux/Network') { $OUTPUT =  'user3 at dom.com,
>> user4 at dom.com' }
>>     elsif ($CFValue == 'Phone') { $OUTPUT =  'user5 at dom.com,
>> user6 at dom.com' }
>>     elsif ($CFValue == 'Windows') { $OUTPUT =  'user7 at dom.com,
>> user8 at dom.com' }
>>   }
>>   $OUTPUT;
>> }
>>
>> The ticket {$Ticket->id} stayed unowned for 30 minutes.
>>
>> Please do a categorisation, assign optionally an owner!
>> ######################################
>>
>> Any idea what I'm doing wrong, maybe there is some, more elegant method to
>> do a custom field based escalation, here is how I'am starting the
>> rt-crontool:
>>
>> rt-crontool --search RT::Search::FromSQL --search-arg "id = 23331"
>> --action RT::Action::RecordComment --template 'UnownedNotifyWatcherLevel1'
>>
>> Thanks in advance,
>>
>> Ivan Samarin
>>
>>
>>
>> Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
>> Buy a copy at http://rtbook.bestpractical.com
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20100504/daf3182a/attachment.htm>


More information about the rt-users mailing list