/build/static/layout/Breadcrumb_cap_w.png

Ticket Rule for using a Resolved Status instead of Closed

Our fac/staff don't want the technicians to close a ticket when they have resolved their problem.
They want the status to be resolved- have an auto generated email sent to them stating their problem has been resolved. If no response within 5 days ticket will automatically close.

Is there a way to create a resolved status and have a rule that if no modifications have been made to the ticket or their hasn't been any response in 5 days the status automatically goes to closed and sends the auto generated email that lets them know their ticket has been closed?

Also is there any way to hide the closed status from the technicians so that it is not an option to choose from?

0 Comments   [ + ] Show comments

Answers (4)

Posted by: scarpent 8 years ago
6th Degree Black Belt
1
I created a resolved status which the technicians change the status to when they complete a ticket and then I have the below rule to run daily at a certain time of the day.  Having it run once a day works for us.

select HD_TICKET.*, 
                HD_STATUS.NAME AS STATUS_NAME,
                HD_STATUS.ORDINAL as STATUS_ORDINAL,
                HD_IMPACT.ORDINAL as IMPACT_ORDINAL,
                HD_CATEGORY.ORDINAL as CATEGORY_ORDINAL,
                HD_PRIORITY.ORDINAL as PRIORITY_NUMBER,
                STATE, 
                if((datediff(DUE_DATE, now()) = 0), 2, if((datediff(DUE_DATE, now())<0), 1, 3)) as SORT_OVERDUE_STATUS,
                if(unix_timestamp(TIME_OPENED) > 0, TIME_OPENED, 1<<62) as SORT_TIME_OPENED, 
                if(unix_timestamp(TIME_STALLED) > 0, TIME_STALLED, 1<<62) as SORT_TIME_STALLED, 
                if(unix_timestamp(TIME_CLOSED) > 0, TIME_CLOSED, 1<<62) as SORT_TIME_CLOSED, 
                if(unix_timestamp(ESCALATED) > 0, ESCALATED, 1<<62) as SORT_ESCALATED,
                if(unix_timestamp(HD_TICKET.CREATED) > 0, HD_TICKET.CREATED, 1<<62) as SORT_TIME_CREATED, 
                if(unix_timestamp(HD_TICKET.MODIFIED) > 0, HD_TICKET.MODIFIED, 1<<62) as SORT_MODIFIED,
                if(unix_timestamp(HD_TICKET.DUE_DATE) > 0, HD_TICKET.DUE_DATE, 1<<62) as SORT_DUE_DATE,
                case upper(STATE) 
                when 'CLOSED' then unix_timestamp(HD_TICKET.TIME_CLOSED) - unix_timestamp(HD_TICKET.TIME_OPENED) 
                when 'OPENED' then unix_timestamp(NOW()) - unix_timestamp(HD_TICKET.TIME_OPENED) 
                else unix_timestamp(NOW()) - unix_timestamp(HD_TICKET.CREATED) end as AGE,
                if((LENGTH(U1.FULL_NAME) = 0), U1.USER_NAME, U1.FULL_NAME) as OWNER_NAME,
                U1.FULL_NAME as OWNER_FULLNAME,
                U1.EMAIL as OWNER_EMAIL,
                if(U1.ID is null, 'z', concat('a', if((LENGTH(U1.FULL_NAME) = 0), U1.USER_NAME, U1.FULL_NAME))) as SORT_OWNER_NAME,
                if((LENGTH(U2.FULL_NAME) = 0), U2.USER_NAME, U2.FULL_NAME) as SUBMITTER_NAME,
                U2.FULL_NAME as SUBMITTER_FULLNAME,
                U2.EMAIL as SUBMITTER_EMAIL,
                if(U2.ID is null, 'z', concat('a', if((LENGTH(U2.FULL_NAME) = 0), U2.USER_NAME, U2.FULL_NAME))) as SORT_SUBMITTER_NAME,
                if(U3.ID is null, 'z', concat('a', if((LENGTH(U3.FULL_NAME) = 0), U3.USER_NAME, U3.FULL_NAME))) as SORT_APPROVER_NAME,
                if(APPROVAL='rejected', 'Rejected', if(APPROVAL='info', 'More Info Needed', if(APPROVAL='approved', 'Approved', if(APPROVER_ID>0, 'Pending', '')))) as APPROVAL_STATUS,
                Q.NAME as QUEUE_NAME                        
                from (HD_TICKET, HD_PRIORITY, HD_STATUS, HD_IMPACT, HD_CATEGORY)
                LEFT JOIN USER U1 on U1.ID = HD_TICKET.OWNER_ID
                LEFT JOIN USER U2 on U2.ID = HD_TICKET.SUBMITTER_ID
                LEFT JOIN USER U3 on U3.ID = HD_TICKET.APPROVER_ID
                LEFT JOIN HD_QUEUE Q on Q.ID = HD_TICKET.HD_QUEUE_ID
                LEFT JOIN MACHINE M1 on M1.ID = HD_TICKET.MACHINE_ID
                where HD_PRIORITY.ID = HD_PRIORITY_ID
                and HD_STATUS.ID = HD_STATUS_ID
                and HD_IMPACT.ID = HD_IMPACT_ID
                and HD_CATEGORY.ID = HD_CATEGORY_ID and ((HD_STATUS.NAME = 'Resolved'))
       and DATE_SUB(NOW(), INTERVAL 7 DAY) > DATE(HD_TICKET.MODIFIED) 
            and HD_TICKET.HD_QUEUE_ID = 1
Posted by: dchristian 13 years ago
Red Belt
0
scarpent,

Have you taken a look at the built in overdue close rule?

You can modify this to close a ticket if it has been sitting in a resolved for a certain period of time.

I don't think there is a way to hide a status from a help desk owner.
Posted by: scarpent 13 years ago
6th Degree Black Belt
0
I created a resolved status and waiting on customer. Our technicians mark the ticket as being resolved and then it sits for 3 days before going to overdue close for another 3 days and then it goes to closed. Basically our clients have 10 days to reply before their tickets are closed. I created a ticket rule that runs every night at 9:00 pm to look at the date time stamp and status of resolved to move into the overdue status and send another email.

Comments:
  • I know this is old, but if you found a way to do it, do you mind posting it here? We are trying to do the same thing... - TechGuyShaun 8 years ago
Posted by: davids 13 years ago
Senior Yellow Belt
0
Hi Scarent,

One way you could do this is by looking at the timestamp of the last change to happen on that ticket.
The changes for tickets and the timestamp for that change is stored in the HD_TICKET_CHANGE table.
You could create a ticket rule for if HD_TICKET_CHANGE.TIMESTAMP < DATE_SUB(NOW(), INTERVAL 10 DAY) then Change Status to Closed.

Hope this helps
-Dave
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ