Stop further Rules from running possible?
Sounds basic but I see nothing under the Rule config and can't seem to find a Post. I have a Rule that changes a Closed ticket to Opened if certain Categories are assigned. Works fine, but the EmailOnClose Rule sends the Submitter an email anyway. I don't want the Submitter to know until we get the Ticket right. I am thinking my rule can have a lower Order and stop further Rules from running. Possible?
0 Comments
[ + ] Show comments
Answers (5)
Please log in to answer
Posted by:
Transam
12 years ago
70 hits and no reply. Is this too dumb of a question or impossible?
I just want to stop further rules from running after my rule runs.
My rule's Update query is below, re-opens the ticket if HD_CATEGORY.NAME = 'New Email Ticket'
OR stop the EmailOnClose from working, maybe based on a value in a field that my rule sets (I tried this but failed)?
Current EmailOnClose below, note the condition "and (HD_CATEGORY.NAME not like 'New Email Ticket')"
Comments and suggestions are welcome.
I just want to stop further rules from running after my rule runs.
My rule's Update query is below, re-opens the ticket if HD_CATEGORY.NAME = 'New Email Ticket'
update HD_TICKET, HD_STATUS as T5
set HD_TICKET.HD_STATUS_ID = T5.ID,
HD_TICKET.TIME_OPENED = IF(T5.STATE = 'opened', NOW(), HD_TICKET.TIME_OPENED),
HD_TICKET.TIME_CLOSED = IF(T5.STATE = 'closed', NOW(), HD_TICKET.TIME_CLOSED),
HD_TICKET.TIME_STALLED = IF(T5.STATE = 'stalled', NOW(), HD_TICKET.TIME_STALLED),
HD_TICKET.SATISFACTION_RATING = IF(T5.STATE = 'closed', NULL, HD_TICKET.SATISFACTION_RATING),
HD_TICKET.SATISFACTION_COMMENT = IF(T5.STATE = 'closed', NULL, HD_TICKET.SATISFACTION_COMMENT)
where T5.NAME = 'Opened' and
HD_TICKET.HD_QUEUE_ID = T5.HD_QUEUE_ID and
(HD_TICKET.ID in (<TICKET_IDS>))
OR stop the EmailOnClose from working, maybe based on a value in a field that my rule sets (I tried this but failed)?
Current EmailOnClose below, note the condition "and (HD_CATEGORY.NAME not like 'New Email Ticket')"
select HD_TICKET.*, DATE_FORMAT(HD_TICKET.CREATED,'%b %d %Y %I:%i:%s %p') as CREATED, DATE_FORMAT(HD_TICKET.MODIFIED,'%b %d %Y %I:%i:%s %p') as MODIFIED,
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.STATE = 'closed')
and (HD_CATEGORY.NAME not like 'New Email Ticket')
and HD_TICKET.RESOLUTION not like '%Closed Email Sent')
and HD_TICKET.HD_QUEUE_ID = 1
Comments and suggestions are welcome.
Posted by:
dchristian
12 years ago
Posted by:
Transam
12 years ago
Thx D but I tried to essentailly do that by adding "and (HD_CATEGORY.NAME not like 'New Email Ticket')" in the where clause of the 'EmailOnClose' select query (code in above post). I was thinking that the select should then NOT find that ticket.
If I set another field then I have to unset it. Ugh!
I simply do not want an email sent if the Category is "New Email Ticket". Seems to me my first Rule would fire, see that the Category is "New Email Ticket", change the Status to from Closed to Opened and the EmailOnClose query would not find the ticket because the ticket Status is no longer Closed. Too simple I guess.
Is there somehting wrong with my select query for EmailOnClose that I could change so it does not find the ticket and send the email?
If I set another field then I have to unset it. Ugh!
I simply do not want an email sent if the Category is "New Email Ticket". Seems to me my first Rule would fire, see that the Category is "New Email Ticket", change the Status to from Closed to Opened and the EmailOnClose query would not find the ticket because the ticket Status is no longer Closed. Too simple I guess.
Is there somehting wrong with my select query for EmailOnClose that I could change so it does not find the ticket and send the email?
Posted by:
dchristian
12 years ago
hmm...
It should work, which leads me to think its a silly mistake somewhere...
^this line kinda stands out. Your using a like but don't have the wild cards around the name.
EX: '%New Email Ticket%'
Double check everything.
Open up a query browser and see what results your getting.
It should work, which leads me to think its a silly mistake somewhere...
and (HD_CATEGORY.NAME not like 'New Email Ticket')
^this line kinda stands out. Your using a like but don't have the wild cards around the name.
EX: '%New Email Ticket%'
Double check everything.
Open up a query browser and see what results your getting.
Posted by:
Transam
12 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.