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