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
pgpslKFzNB6Db.pgp
Description: PGP signature