[rt-users] Help with perl code to resolve all children tickets
Kevin Falcone
falcone at bestpractical.com
Mon Jan 24 21:59:38 EST 2011
On Mon, Jan 24, 2011 at 12:06:02PM -0800, Kenneth Crocker wrote:
> To list,
>
> I was fooling around with the idea of creating a scrip that would allow the resolution of a
> parent ticket to automatically resolve all children tickets. I thought this would be helpful
> if a developer had a bunch of sub-tasks/tickets and they didn't want to go in and "resolve"
> each one individually, they could just "resolve" the parent and that would cause a cascade
> effect to go ahead and resolve all the children. This is the code I developed:
>
> # Resolve all Ticket children when the Ticket is resolved
>
> if (defined($id))
> {
> $tickets->FromSQL('Type = "ticket" AND MemberOf="'.$id.'"');
> # Loop thru all Children
> while (my $child = $tickets->Next) {
> next unless( $child->Status =~ /^(?:new|open|stalled)$/ );
> $RT::Logger->info("Closing associated child");
> $child->SetStatus("resolved");
>
> This worked fine except in the situation where a "Child" ticket was also a "Depends/on"
> ticket. The cascade stops. Well, that made sense, but I want to get around that.
>
> So I tried to force it with:
>
> # Resolve all Ticket children when the Ticket is resolved
>
> ........
> ........
> $child->SetStatus("resolved", 'Force');
>
> This didn't work. The top parent was resolved, but no cascade effect to any of the "child"
> tickets at all, even when there was no "DependsOn" relationship.
>
> I looked at the log and it shows the first ticket resolved, but no errors after that and yet,
> the children weren't resolved.
>
> Without the "Force", it works just fine, up to the ticket with the "DependsOn"child.
>
> So .... I went to several Perl handbooks (Perl Cookbook by O'Reilly, Perl for Dummies, etc.)
> and found nothing on the "Set" command, let alone the "Force" option.
> I went to the RT Essentials book and found nothing.
The relevant documentation is found in perldoc
lib/RT/Ticket_Overlay.pm . You're passing incorrect arguments to
SetStatus
> I am NOT a perl programmer, but understand enough basic perl to be able to clone a scrip or
> two and modify it with what little perl knowledge(?) I have.
>
> Obviously, I don't know enough about perl to figure this one out.
>
> Can anyone help me out with some perl clues/instruction here?
>
> Thanks in advance.
>
> Kenn
> LBNL
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20110124/bea4d188/attachment.sig>
More information about the rt-users
mailing list