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

Attachment: pgpslKFzNB6Db.pgp
Description: PGP signature

Reply via email to