[rt-users] cron job for creating tickets and child tickets

Jacob Helwig Jacob at buschs.com
Thu Sep 27 14:52:58 EDT 2007


Try changing:

Custom Condition:
if ($self->TransactionObj->Type eq "Create" && $self->TicketObj->Subject =~ /^Patch Testing for\s?/){

To:

Custom Condition:
if ($self->TransactionObj->Type eq "Create" && $self->TicketObj->Subject =~ /^Patch Testing for\s?/ && $self->TicketObj->Subject !~ /Child$/){


It looks like each child ticket matches your original condition, and the custom condition will match each of them, when it runs, creating new child tickets, etc, etc, etc.  Just a thought.


-- 
Jacob Helwig
PC Technician
Busch's Help Desk
Desk: x35221
Direct: 734-214-8221

-----Original Message-----
From: rt-users-bounces at lists.bestpractical.com [mailto:rt-users-bounces at lists.bestpractical.com] On Behalf Of Mathew
Sent: Thursday, September 27, 2007 2:18 PM
To: RT Users
Subject: Re: [rt-users] cron job for creating tickets and child tickets

Anyone have any thoughts on this?

Keep up with my goings on at http://theillien.blogspot.com

Mathew Snyder wrote:
> I'm trying to set up a cron job which will send an email to RT.   This ticket
> should spawn three child tickets.  Technically, it works.  The child tickets are
> spawned however, it enters a loop and continuously spawns child tickets.  I
> think it is due to the condition I've created but I'm not sure.
> 
> I've created the following template
> 
> ===Create-Ticket: Patch Testing for Windows - Child
> Subject: {$Tickets{'TOP'}->Subject} - Windows - Child
> Parents: TOP
> Queue: SysEng
> Type: ticket
> Content: Time to test patches for our next Windows patch cycle
> ENDOFCONTENT
> 
> ===Create-Ticket: Patch Testing for Solaris - Child
> Subject: {$Tickets{'TOP'}->Subject} - Solaris - Child
> Parents: TOP
> Queue: SysEng
> Type: ticket
> Content: Time to test patches for our next Solaris patch cycle
> ENDOFCONTENT
> 
> ===Create-Ticket: Patch Testing for Linux - Child
> Subject: {$Tickets{'TOP'}->Subject} - Linux - Child
> Parents: TOP
> Queue: SysEng
> Type: ticket
> Content: Time to test patches for our next Linux patch cycle
> ENDOFCONTENT
> 
> and the following scrip
> 
> Condition: User Defined
> Action: Create Tickets
> Template: PatchTestingChildren
> Stage: TransactionCreate
> 
> Custom Condition:
> if ($self->TransactionObj->Type eq "Create" && $self->TicketObj->Subject =~
> /^Patch Testing for\s?/){
> return 1;
> } else {
> return 0;
> }
> 
> This is the script I'm running as my cron job:
> 
> #!/usr/bin/perl
> 
> use warnings;
> use strict;
> use MIME::Lite;
> use DateTime;
> 
> my $dt = DateTime->now;
> my $month_name  = $dt->month_name;
> 
> my $emailTo   = "sysengdev\@rt-devel.ops.servervault.com";
> my $emailFrom = "msnyder\@servervault.com";
> 
> my $emailSubj = "Patch Testing for $month_name";
> my $emailMsg  = "Time to start testing patches for our next patch cycle.";
> 
> my $fullEmail = new MIME::Lite(From    => $emailFrom,
>                                To      => $emailTo,
>                                Subject => $emailSubj,
>                                Data    => $emailMsg);
> 
> $fullEmail->send("sendmail", "/usr/sbin/sendmail -t");
> 
_______________________________________________
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sales at bestpractical.com


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



More information about the rt-users mailing list