[rt-users] Template won't fire when scrip condition is true
Gene LeDuc
gleduc at mail.sdsu.edu
Tue Apr 17 14:00:19 EDT 2007
Hi All,
I've been scratching my head over this for 2 days and haven't been able to
solve it. I have a scrip that is not firing the Notify Others action when
its user-defined condition is true. The scrip fires, the condition is
true, but the execution chain simply ends without the template getting
launched. There are no errors in the apache log and my debug log shows
that the scrip condition is true. I have an almost identical scrip
(different code for conditional and template) in another queue that is
working fine, so I'm taking a step back and asking if anyone here can see
my mistakes.
1. An e-mail is sent to RT and data is extracted from it and loaded into
custom fields in the newly created ticket. This is working; the ticket
gets created and all of the custom fields get their correct data.
2. Setting one of the custom fields (above) causes a user-defined condition
in another scrip to fire. The scrip looks like this:
Description: Ack Requestor
Condition: User Defined
{ ### True when machine name is first set (set by New Ticket scrip)
my $MyName = "Scrip DNS:37:Condition (Ack Requestor)";
my $Transaction = $self->TransactionObj;
my $field = 7;
my $val = ($Transaction->Type =~ /CustomField/i) &&
($Transaction->Field == $field) && !$Transaction->OldValue();
$RT::Logger->debug("$MyName: Conditional is $val");
return $val;
}
Action: Notify Other Recipients
Template: Acknowledge
Stage: TransactionCreate
I know that the scrip is firing because of the $RT::Logger->debug statement
(just before the return in the condition code), and I know that the return
value is 1 for the same reason. Here is the log entry:
[Tue Apr 17 17:40:56 2007] [debug]: Scrip DNS:37:Condition (Ack Requestor):
Conditional is 1 ((eval 900):8)
Since the returned value ($val) is 1, the Acknowledge template should get
run, but it doesn't. I'm certain of this because the first line of the
template is:
{ $RT::Logger->debug("Template DNS:26 (Acknowledge): Entering template");
and nothing gets logged.
Here is the debug log for this run (Transaction 3237 is the ticket creation
and 3238 is the custom field being populated):
[Tue Apr 17 17:40:54 2007] [debug]: About to think about scrips for
transaction #3233 (/opt/local/lib/RT/Transaction_Overlay.pm:165)
[Tue Apr 17 17:40:54 2007] [debug]: About to think about scrips for
transaction #3234 (/opt/local/lib/RT/Transaction_Overlay.pm:165)
[Tue Apr 17 17:40:54 2007] [debug]: About to think about scrips for
transaction #3235 (/opt/local/lib/RT/Transaction_Overlay.pm:165)
[Tue Apr 17 17:40:54 2007] [debug]: About to think about scrips for
transaction #3236 (/opt/local/lib/RT/Transaction_Overlay.pm:165)
[Tue Apr 17 17:40:54 2007] [debug]: About to think about scrips for
transaction #3237 (/opt/local/lib/RT/Transaction_Overlay.pm:165)
[Tue Apr 17 17:40:54 2007] [debug]: About to prepare scrips for transaction
#3237 (/opt/local/lib/RT/Transaction_Overlay.pm:169)
[Tue Apr 17 17:40:54 2007] [debug]: Found 4 scrips
(/opt/local/lib/RT/Scrips_Overlay.pm:363)
[Tue Apr 17 17:40:54 2007] [debug]: Scrip DNS:37:Condition (Ack Requestor):
Conditional is ((eval 890):8)
[Tue Apr 17 17:40:54 2007] [debug]: About to commit scrips for transaction
#3237 (/opt/local/lib/RT/Transaction_Overlay.pm:178)
[Tue Apr 17 17:40:56 2007] [debug]: About to think about scrips for
transaction #3238 (/opt/local/lib/RT/Transaction_Overlay.pm:165)
[Tue Apr 17 17:40:56 2007] [debug]: About to prepare scrips for transaction
#3238 (/opt/local/lib/RT/Transaction_Overlay.pm:169)
[Tue Apr 17 17:40:56 2007] [debug]: Found 3 scrips
(/opt/local/lib/RT/Scrips_Overlay.pm:363)
[Tue Apr 17 17:40:56 2007] [debug]: Scrip DNS:37:Condition (Ack Requestor):
Conditional is 1 ((eval 900):8)
[Tue Apr 17 17:40:56 2007] [debug]: About to commit scrips for transaction
#3238 (/opt/local/lib/RT/Transaction_Overlay.pm:178)
[Tue Apr 17 17:40:56 2007] [info]: Ticket 313 created in queue 'DNS' by
bogus.user at bogus.domain.com (/opt/local/lib/RT/Ticket_Overlay.pm:754)
[Tue Apr 17 17:40:57 2007] [debug]: Found 0 scrips
(/opt/local/lib/RT/Scrips_Overlay.pm:363)
Can someone point out what I'm missing here?
Thanks,
Gene
More information about the rt-users
mailing list