[rt-users] Can't resolve in-progress ticket?

Rezty Felty rfelty at adknowledge.com
Wed Sep 3 11:54:02 EDT 2014


OK, in case anyone else runs into this, we had custom status’ for inprogress, pending and pend-close in our prior version of RT, and below are the lines we had to add to RT4 to get these status’ to work in the new lifecycles method, you will have to change for your situation but I thought this might be helpful to others:

Set(%Lifecycles,
    default => {
        initial         => [ 'new' ],
        active          => [ 'open', 'stalled', 'pending', 'pend-close', 'project', 'inprogress' ],
        inactive        => [ 'resolved', 'rejected', 'deleted' ],

        defaults => {
            on_create => 'new',
            on_merge  => 'resolved',
            approved  => 'open',
            denied    => 'rejected',
            reminder_on_open     => 'open',
            reminder_on_resolve  => 'resolved',
        },

        transitions => {
            ''       => [qw(new open resolved)],

            # from   => [ to list ],
            new      => [qw(open stalled resolved rejected deleted project inprogress pend-close pending)],
            open     => [qw(new stalled resolved rejected deleted project inprogress pend-close pending)],
            stalled  => [qw(new open rejected resolved deleted project inprogress pend-close pending)],
            resolved => [qw(new open stalled rejected deleted project inprogress pend-close pending)],
            rejected => [qw(new open stalled resolved deleted project inprogress pend-close  pending)],
            deleted  => [qw(new open stalled rejected resolved project inprogress pend-close pending)],
            "pend-close"  => [qw(new open stalled rejected resolved project inprogress pending)],
            project  => [qw(new open stalled rejected resolved inprogress pend-close pending)],
            inprogress  => [qw(new open stalled rejected resolved project pend-close pending)],
            pending  => [qw(new open stalled rejected resolved project pend-close inprogress)],
        },
        rights => {
            '* -> deleted'  => 'DeleteTicket',
            '* -> *'        => 'ModifyTicket',
        },
        actions => [
            'new -> open'      => {
                label  => 'Open It', # loc
                update => 'Respond',
            },
            'new -> resolved'  => {
                label  => 'Resolve', # loc
                update => 'Comment',
            },
            'new -> rejected'  => {
                label  => 'Reject', # loc
                update => 'Respond',
            },
            'new -> deleted'   => {
                label  => 'Delete', # loc
            },
            'new -> pend-close'   => {
                label  => 'Pend-close', # loc
            },
            'new -> inprogress'   => {
                label  => 'Inprogress', # loc
            },
            'new -> pending'   => {
                label  => 'Pending', # loc
            },
            'open -> stalled'  => {
                label  => 'Stall', # loc
                update => 'Comment',
            },
            'open -> resolved' => {
                label  => 'Resolve', # loc
                update => 'Comment',
            },
            'open -> rejected' => {
                label  => 'Reject', # loc
                update => 'Respond',
            },
            'open -> pend-close'   => {
                label  => 'Pend-close', # loc
            },
            'open -> inprogress'   => {
                label  => 'Inprogress', # loc
            },
            'open -> pending'   => {
                label  => 'Pending', # loc
            },
            'stalled -> open'  => {
                label  => 'Open It', # loc
            },
            'resolved -> open' => {
                label  => 'Re-open', # loc
                update => 'Comment',
            },
            'rejected -> open' => {
                label  => 'Re-open', # loc
                update => 'Comment',
            },
            'deleted -> open'  => {
                label  => 'Undelete', # loc
            },
            'deleted -> pend-close'   => {
                label  => 'Pend-close', # loc
            },
            'deleted -> inprogress'   => {
                label  => 'Inprogress', # loc
            },
            'deleted -> pending'   => {
                label  => 'Pending', # loc
            },
            'pend-close -> open'      => {
                label  => 'Open It', # loc
                update => 'Respond',
            },
            'pend-close -> resolved'  => {
                label  => 'Resolve', # loc
                update => 'Comment',
            },
            'pend-close -> rejected'  => {
                label  => 'Reject', # loc
                update => 'Respond',
            },
            'pend-close -> deleted'   => {
                label  => 'Delete', # loc
            },
            'pend-close -> inprogress'   => {
                label  => 'Inprogress', # loc
            },
            'pend-close -> pending'   => {
                label  => 'Pending', # loc
            },
            'pending -> open'      => {
                label  => 'Open It', # loc
                update => 'Respond',
            },
            'pending -> resolved'  => {
                label  => 'Resolve', # loc
                update => 'Comment',
            },
            'pending -> rejected'  => {
                label  => 'Reject', # loc
                update => 'Respond',
            },
            'pending -> deleted'   => {
                label  => 'Delete', # loc
            },
            'pending -> pend-close'   => {
                label  => 'Pend-close', # loc
            },
            'pending -> inprogress'   => {
                label  => 'Inprogress', # loc
            },
            'inprogress -> open'      => {
                label  => 'Open It', # loc
                update => 'Respond',
            },
            'inprogress -> resolved'  => {
                label  => 'Resolve', # loc
                update => 'Comment',
            },
            'inprogress -> rejected'  => {
                label  => 'Reject', # loc
                update => 'Respond',
            },
           'inprogress -> deleted'   => {
                label  => 'Delete', # loc
            },
            'inprogress -> pend-close'   => {
                label  => 'Pend-close', # loc
            },
            'inprogress -> pending'   => {
                label  => 'Pending', # loc
            },
        ],
    },
# don't change lifecyle of the approvals, they are not capable to deal with
# custom statuses
    approvals => {
        initial         => [ 'new' ],
        active          => [ 'open', 'stalled' ],
        inactive        => [ 'resolved', 'rejected', 'deleted' ],

        defaults => {
            on_create => 'new',
            on_merge => 'resolved',
            reminder_on_open     => 'open',
            reminder_on_resolve  => 'resolved',
        },

        transitions => {
            ''       => [qw(new open resolved)],

            # from   => [ to list ],
            new      => [qw(open stalled resolved rejected deleted)],
            open     => [qw(new stalled resolved rejected deleted)],
            stalled  => [qw(new open rejected resolved deleted)],
            resolved => [qw(new open stalled rejected deleted)],
            rejected => [qw(new open stalled resolved deleted)],
            deleted  => [qw(new open stalled rejected resolved)],
        },
        rights => {
            '* -> deleted'  => 'DeleteTicket',
            '* -> rejected' => 'ModifyTicket',
            '* -> *'        => 'ModifyTicket',
        },
        actions => [
            'new -> open'      => {
                label  => 'Open It', # loc
                update => 'Respond',
            },
            'new -> resolved'  => {
                label  => 'Resolve', # loc
                update => 'Comment',
            },
            'new -> rejected'  => {
                label  => 'Reject', # loc
                update => 'Respond',
            },
            'new -> deleted'   => {
                label  => 'Delete', # loc
            },

            'open -> stalled'  => {
                label  => 'Stall', # loc
                update => 'Comment',
            },
            'open -> resolved' => {
                label  => 'Resolve', # loc
                update => 'Comment',
            },
            'open -> rejected' => {
                label  => 'Reject', # loc
                update => 'Respond',
            },

            'stalled -> open'  => {
                label  => 'Open It', # loc
            },
            'resolved -> open' => {
                label  => 'Re-open', # loc
                update => 'Comment',
            },
            'rejected -> open' => {
                label  => 'Re-open', # loc
                update => 'Comment',
            },
            'deleted -> open'  => {
                label  => 'Undelete', # loc
            },
        ],
    },
);

Thanks,
Rezty Felty
Senior Linux Administrator
Adknowledge
816-559-1196

From: Rezty Felty <rfelty at adknowledge.com<mailto:rfelty at adknowledge.com>>
Date: Tuesday, August 26, 2014 at 9:16 AM
To: Alex Peters <alex at peters.net<mailto:alex at peters.net>>
Cc: "rt-users at lists.bestpractical.com<mailto:rt-users at lists.bestpractical.com>" <rt-users at lists.bestpractical.com<mailto:rt-users at lists.bestpractical.com>>
Subject: Re: [rt-users] Can't resolve in-progress ticket?

Yes, we fixed it with lifecycle entries in the RT_SiteConfig.pm, I hadn’t realized that lifecycles had replaced status’.

Thanks,
Rezty Felty
Senior Linux Administrator
Adknowledge
816-559-1196

From: Alex Peters <alex at peters.net<mailto:alex at peters.net>>
Date: Monday, August 25, 2014 at 5:59 PM
To: Rezty Felty <rfelty at adknowledge.com<mailto:rfelty at adknowledge.com>>
Cc: "rt-users at lists.bestpractical.com<mailto:rt-users at lists.bestpractical.com>" <rt-users at lists.bestpractical.com<mailto:rt-users at lists.bestpractical.com>>
Subject: Re: [rt-users] Can't resolve in-progress ticket?


Sounds like a possible misconfiguration of the relevant lifecycle:

https://bestpractical.com/docs/rt/latest/customizing/lifecycles.html#Update-Transitions

On 26/08/2014 1:40 am, "Rezty Felty" <rfelty at adknowledge.com<mailto:rfelty at adknowledge.com>> wrote:
More info, have opened additional tickets to test, seems that when any ticket is placed in in-progress status, it then loses all status choices except in-progress.

Thanks,
Rezty Felty
Senior Linux Administrator
Adknowledge
816-559-1196

From: Rezty Felty <rfelty at adknowledge.com<mailto:rfelty at adknowledge.com>>
Date: Monday, August 25, 2014 at 10:30 AM
To: "rt-users at lists.bestpractical.com<mailto:rt-users at lists.bestpractical.com>" <rt-users at lists.bestpractical.com<mailto:rt-users at lists.bestpractical.com>>
Subject: [rt-users] Can't resolve in-progress ticket?

I just upgraded our RT system, from running on SLES 11 to RHEL 6.5, RT from 3.8.7 to 4.2.6, and mysql  from an old version to the latest mariadb.  Upgrade went smoothly, have tested everything, all seems to be well, except one thing.  I have a ticket that a user placed in in-progress status after the upgrade, and now the only status anyone can place it in, even me as an RT Admin, is in-progress.  Can’t resolve, open, delete, pending, etc.  They aren’t even choices in the drop-down in the jumbo ticket display.  Any idea what caused this, and how to resolve?

Thanks,
Rezty Felty
Senior Linux Administrator
Adknowledge
816-559-1196

--
RT Training - Boston, September 9-10
http://bestpractical.com/training
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20140903/f43ebfe6/attachment.htm>


More information about the rt-users mailing list