I changed my scrip to be:

if ($self->TransactionObj->Type ne "Create") {
   $RT::Logger->info( ">  Not a Create \n" );
   return 0; # This is an update transaction
}

my $ticket = $self->TicketObj;
my $CustomFields = $ticket->QueueObj->TicketCustomFields();

while (my $CustomField = $CustomFields->Next()) {
    my $nam = $CustomField->Name;
    my $val = $self->TicketObj->FirstCustomFieldValue($nam);
    $RT::Logger->info( ">  CustomField Name: $nam \n" );
    $RT::Logger->info( ">  CustomField Value: $val \n" );

    if ($val =~ /YES/){
        $RT::Logger->info( ">  This is a change control \n" );
        return 1;
    }
}

$RT::Logger->info( ">  Default 0 exit \n" );
return 0;

And, now I see in the logs;

[Tue Sep 15 04:34:13 2009] [info]: >  CustomField Name: Business Unit  ((eval 
1579):12)
[Tue Sep 15 04:34:13 2009] [info]: >  CustomField Value: Charlotte  ((eval 
1579):13)
[Tue Sep 15 04:34:13 2009] [info]: >  CustomField Name: Change Control  ((eval 
1579):12)
[Tue Sep 15 04:34:13 2009] [info]: >  CustomField Value: YES  ((eval 1579):13)
[Tue Sep 15 04:34:13 2009] [info]: >  This is a change control  ((eval 1579):16)
[Tue Sep 15 04:34:13 2009] [info]: 
<[email protected]<mailto:[email protected]>>
 #246/34573 - Scrip 3 On Create Autoreply To Requestors 
(/opt/rt3/bin/../lib/RT/Action/SendEmail.pm:302)


So, by scrip is being called, but, no tickets are being created;

The scrip settings are;

Condition: User Defined (as above)
Action : Create Tickets
Template : Monitor:Approval
Stage : TransactionCreate

The only other part to this that I know of is the Template.  Other then the 
template, is there anything else I need to do to auto create the approval 
tickets?

Here is my template;


Subject: Approval of { $Tickets{'TOP'}->Subject() }
Queue: ___Approvals
Type : approval
Owner : [email protected]<mailto:[email protected]>
Content : Please review and approve this request.
Depended-On-By : TOP






________________________________
From: [email protected] 
[mailto:[email protected]] On Behalf Of Lander, Scott
Sent: Monday, September 14, 2009 5:20 PM
To: '[email protected]'
Subject: [rt-users] Problem calling a custom scrip

All,

   In 3.8.4, I am attempting to set up an approval queue.    The idea is that 
if a Custom Field named "Change Control" is set to value 'YES" then a new 
ticket will be created to gather the required approval.

   This is in queue "Monitoring".

   So, in the queue I have a Scrip:  Monitor:approval,  with a User Defined 
condition, Action is Create Tickets, Template is Monitor:Approval, Stage 
TransactionComplete.
   My Custom Condition originally was:

if ($self->TransactionObj->Type ne "Create") {
  return 0; # This is an update transaction
}


my $CustomFields = $ticket->QueueObj->TicketCustomFields();
while (my $CustomField = $CustomFields->Next()) {
   if ($self->TicketObj->FirstCustomFieldValue('Change Control') =~ /Yes/i) {
   return 1;
}

return 0;


When that failed to do anything,  I just changed it to "return 1;".


My template is:

Subject: Approval of { $Tickets{'TOP'}->Subject() }
Queue: ___Approvals
Type : approval
Owner : [email protected]
Content : Please review and approve this request.
Depended-On-By : TOP



When I create a ticket and select YES for my CF, I see this in my log;  (note, 
my custom scrip is #84)


[Mon Sep 14 21:30:07 2009] [info]: 
<[email protected]> #239/34524 - Scrip 3 On 
Create Autoreply To Requestors (/opt/rt3/bin/../lib/RT/Action/SendEmail.pm:302)
[Mon Sep 14 21:30:07 2009] [info]: 
<[email protected]> sent  To: 
[email protected] (/opt/rt3/bin/../lib/RT/Action/SendEmail.pm:333)
[Mon Sep 14 21:30:07 2009] [info]: 
<[email protected]> #239/34524 - Scrip 4 On 
Create Notify AdminCcs (/opt/rt3/bin/../lib/RT/Action/SendEmail.pm:302)
[Mon Sep 14 21:30:07 2009] [info]: 
<[email protected]> No recipients found. Not 
sending. (/opt/rt3/bin/../lib/RT/Interface/Email.pm:338)
[Mon Sep 14 21:30:07 2009] [info]: 
<[email protected]> #239/34524 - Scrip 82 On 
Create Notify CCs (/opt/rt3/bin/../lib/RT/Action/SendEmail.pm:302)
[Mon Sep 14 21:30:07 2009] [info]: 
<[email protected]> sent  Cc: 
[email protected] (/opt/rt3/bin/../lib/RT/Action/SendEmail.pm:333)
[Mon Sep 14 21:30:07 2009] [info]: Ticket 239 created in queue 'Monitoring' by 
SLANDER (/opt/rt3/bin/../lib/RT/Ticket_Overlay.pm:667)


Can anyone see my mistake?  Or, am I going about this wrong?




------------------------------------------------------------------------------------
This e-mail message is intended only for the personal use of the recipient(s) 
named above. If you are not an intended recipient, you may not review, copy or 
distribute this message. If you have received this communication in error, 
please notify the Hearst Service Center ([email protected]) immediately by 
email and delete the original message.
------------------------------------------------------------------------------------

------------------------------------------------------------------------------------
This e-mail message is intended only for the personal use of the recipient(s) 
named above. If you are not an intended recipient, you may not review, copy or 
distribute this message. If you have received this communication in error, 
please notify the Hearst Service Center ([email protected]) immediately by 
email and delete the original message.
------------------------------------------------------------------------------------
_______________________________________________
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