[rt-users] Create multiple tickets from a template

Schincke, Keith D. (JSC-IT)[MEI] Keith.D.Schincke at nasa.gov
Thu Jun 14 17:12:01 EDT 2007


The Wiki description was great. It allowed the creation of the approval
process where one person or any person in a group could approve a
ticket.  

What I need is a way to call the template for each member of the group
with the result of creating a ticket for each member that must be
approved before the parent ticket can start. 

Keith Schincke

-----Original Message-----
From: Kenneth Marshall [mailto:ktm at rice.edu] 
Sent: Thursday, June 14, 2007 4:05 PM
To: Schincke, Keith D. (JSC-IT)[MEI]
Cc: RT-Users at lists.bestpractical.com
Subject: Re: [rt-users] Create multiple tickets from a template

Keith,

How is it going down there? I think the wiki has a pretty good
description of this process. This is managed by using a template to
create the needed tickets. The RT Essentials book also describes the
process on p.94.

Ken

On Thu, Jun 14, 2007 at 03:53:02PM -0500, Schincke, Keith D.
(JSC-IT)[MEI] wrote:
> Hey Guys,
> 
> Below is a V1.0 script to create an approval ticket for each member of

> the approval group when ever a ticket requiring approval is created. 
> It works as I need except the outgoing messages for the new tickets 
> are not being sent.
> 
> Let me know if you have any suggestions or questions
> 
> Keith Schincke
> 
> Go to Configuration->Queues->Your Queue->Scrips->New scrip
> 
> Description: Your Scrip Description
> Condition: On Create
> Action: User Defined
> Template: Global Template: Blank
> Stage: TransactionCreate
> 
> Custom action preparation code:
> my $queue_name = 'Approvals' ;
> my $group_name='outage_approval' ;
> my $group = RT::Group->new( $RT::SystemUser );
> 
> $group->LoadUserDefinedGroup( $group_name ); 
> $RT::Logger->debug(">>Error : couldn't load group") and die "Cannot 
> load group" unless $group->id;
> 
> my $ticket = $self->TicketObj ;
> my $req_addr = $self->TicketObj->RequestorAddresses ; my $tick_id = 
> $self->TicketObj->id ; my $tick_sub = $ticket->Subject ;
> 
> my $child_ticket = RT::Ticket->new ( $RT::SystemUser ) ;
> 
> my $users = $group->UserMembersObj;
> while ( my $user = $users->Next ) {
> 	my $name = $user->Name ;
> 
> 	my ($child_id, $child_transobj, $errormsg ) =
$child_ticket->Create(
> 			Queue => $queue_name ,
> 			Subject => "Approval review for " .
> $ticket->Subject . " (" . $ticket->id . ")" ,
> 			RefersTo => $ticket->id ,
> 			DependedOnBy => $ticket->id ,
> 			Type => "approval" ,
> 			Reqestor => $req_addr,
> 			Owner => $user ,
> 		) ;
> 	unless ( $child_id ) 
> 	{
> 		$RT::Logger->debug(">>Error : ". $errormsg);
> 		return undef ;
> 	}
> 
> }
>  
> 
> -----Original Message-----
> From: rt-users-bounces at lists.bestpractical.com
> [mailto:rt-users-bounces at lists.bestpractical.com] On Behalf Of 
> Schincke, Keith D. (JSC-IT)[MEI]
> Sent: Wednesday, June 13, 2007 4:53 PM
> To: RT-Users at lists.bestpractical.com
> Subject: [rt-users] Create multiple tickets from a template
> 
> Hey Guys
> 
> I am using RT 3.6.1 on a Debian etch server with a mysql backend. 
> 
> I am trying to create multiple tickets in the approval queue each with

> an owned by a member from the approval group with the idea that the 
> parent ticket is approved when each member of the group has approved 
> of their approval ticket.
> 
> It is possible to write a template that will on the "On Create"
> condition take the "Create Tickets" action and open multiple tickets?
> 
> Below is a template I worked up.  I was trying to call the create 
> ticket template for each user in the group.
> 
> Would this be better solved with a "User Defined" action on the
script.
> 
> Thanks for any pointers and information.
> 
> Keith
> 
> my $group_name='approval_group' ;
> my $group = RT::Group->new( $RT::SystemUser ); 
> $group->LoadUserDefinedGroup( $group_name ); die "couldn't load group"
> unless $group->id;
> 
> my $users = $group->UserMembersObj;
> while ( my $user = $users->Next ) {
>     #print $user->Name, "\n";
> 
> ===Create-Ticket: approvalreview
> Subject: Approval review for "{$Tickets{'TOP'}->Subject}"
> Depended-On-By: {$Tickets{'TOP'}->Id()}
> Refers-To: {$Tickets{'TOP'}->Id()}
> Owner: { $user }
> Queue: Approvals
> Type: approval
> Content: 
> { $Transaction->CreatorObj->Name } ({ $Ticket->RequestorAddresses }) 
> has created a ticket requiring your approval You should review and 
> approve it, so they can finish their work.
> ENDOFCONTENT
> 
> }
> _______________________________________________
> 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 
> _______________________________________________
> 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