/bundles/itninjaweb/img/Breadcrumb_cap_w.png

Yes I am trying to figure out a custom ticket rule for the kbox support center. Here is what I am looking for it to do:

 

  • User submits ticket to the kbox support center.
  • Lets say the ticket sits for a few hours, with no one being assigned as owner, or even if the user forgets to add something to the ticket.
  • User responds to the ticket via email or the portal.
  • User receives email.
  • How can I make it so the main support email address also receives this response. Right now, we have no idea they responded to the ticket, unless you are a CC or Owner.
Answer Summary:
You will need to remove this line: C.DESCRIPTION LIKE 'TICKET CREATED%' and in the same place add: HD_TICKET.OWNER_ID = 0 Searching for HD_TICKET.OWNER_ID = 0 limits the rule to only run on tickets that do not have an owner (they are unassigned).
Cancel
0 Comments   [ - ] Hide Comments

Comments

Please log in to comment

Answer this question or Comment on this question for clarity

Answers

0

Start with the rule outlined in this KB article:

http://www.kace.com/support/resources/kb/solutiondetail?sol=SOL111222

You will need to remove this line:

C.DESCRIPTION LIKE 'TICKET CREATED%'

and in the same place add:

HD_TICKET.OWNER_ID = 0

Searching for HD_TICKET.OWNER_ID = 0 limits the rule to only run on tickets that do not have an owner (they are unassigned).


Answered 03/31/2014 by: chucksteel
Red Belt

  • chucksteel thanks for the response. We tried replacing that line with the one provided, but that actually broke all emails when a ticket is submitted.

    Here is what our custom rule looks like:

    SELECT

    -- ticket fields

    HD_TICKET.ID, -- $id

    HD_TICKET.ID AS TICKNUM, -- $ticknum

    HD_TICKET.TITLE, -- $title

    DATE_FORMAT(HD_TICKET.CREATED,'%b %d %Y %I:%i:%s %p') AS CREATED, -- $created

    DATE_FORMAT(HD_TICKET.MODIFIED,'%b %d %Y %I:%i:%s %p') AS MODIFIED, -- $modified

    -- change fields

    C.COMMENT, -- $comment

    C.DESCRIPTION, -- $description

    GROUP_CONCAT(CONCAT('----- Change by ', UPDATER.EMAIL,' at ',H.TIMESTAMP,' -----\n',

    H.DESCRIPTION,'\n',H.COMMENT,'\n\nPlease see your ticket at http://bsbk1/userui/ticket.php?ID=',H.HD_TICKET_ID,'\n')

    ORDER BY H.ID DESC SEPARATOR '\n') HISTORY, -- $history

    -- about the updater

    UPDATER.USER_NAME AS UPDATER_UNAME, -- $updater_uname

    UPDATER.FULL_NAME AS UPDATER_FNAME, -- $updater_fname

    UPDATER.EMAIL AS UPDATER_EMAIL, -- $updater_email

    IF(UPDATER.FULL_NAME='',UPDATER.USER_NAME,UPDATER.FULL_NAME) AS UPDATER_CONDITIONAL, -- $updater_conditional

    -- about the owner

    OWNER.USER_NAME AS OWNER_UNAME, -- $owner_uname

    OWNER.FULL_NAME AS OWNER_FNAME, -- $owner_fname

    OWNER.EMAIL AS OWNER_EMAIL, -- $owner_email

    IFNULL(OWNER.USER_NAME,'Unassigned') OWNER_USER, -- $owner_user

    -- about the submitter

    SUBMITTER.USER_NAME AS SUBMITTER_UNAME, -- $submitter_uname

    SUBMITTER.FULL_NAME AS SUBMITTER_FNAME, -- $submitter_fname

    SUBMITTER.EMAIL AS SUBMITTER_EMAIL, -- $submitter_email

    -- about priority

    P.NAME AS PRIORITY, -- $priority

    -- about status

    S.NAME AS STATUS, -- $status

    -- about impact

    I.NAME AS IMPACT, -- $impact

    -- about category

    CAT.NAME AS CATEGORY, -- $category

    -- other fields

    -- -- example of static distribution list

    'itg@bsbdesign.com' AS NEWTICKETEMAIL -- $newticketemail

    FROM HD_TICKET

    /* latest change ***/ JOIN HD_TICKET_CHANGE C ON C.HD_TICKET_ID = HD_TICKET.ID

    AND C.ID=<CHANGE_ID>

    /* complete history*/ JOIN HD_TICKET_CHANGE H ON H.HD_TICKET_ID = HD_TICKET.ID

    /* priority ********/ JOIN HD_PRIORITY P ON P.ID=HD_PRIORITY_ID

    /* status **********/ JOIN HD_STATUS S ON S.ID=HD_STATUS_ID

    /* impact-severity */ JOIN HD_IMPACT I ON I.ID=HD_IMPACT_ID

    /* category ********/ JOIN HD_CATEGORY CAT ON CAT.ID=HD_CATEGORY_ID

    /* owner ***********/ LEFT JOIN USER OWNER ON OWNER.ID = HD_TICKET.OWNER_ID

    /* submitter *******/ LEFT JOIN USER SUBMITTER ON SUBMITTER.ID = HD_TICKET.SUBMITTER_ID

    /* updater *********/ LEFT JOIN USER UPDATER ON UPDATER.ID = C.USER_ID

    WHERE

    HD_TICKET.OWNER_ID = 0

    /* this is necessary when using group by functions */

    C.DESCRIPTION LIKE 'TICKET CREATED%'

    HAVING 1=1
    • You need to delete the C.DESCRIPTION LIKE 'TICKET CREATED%" line, it's still there.
      • Hmm not sure what happened there. I removed the line and retested, all working as expected. Thanks!

        Side question, is there a good resource for learning how to write these custom kbox rules?
      • Having a basic working knowledge of MySQL is a good start so I would recommend learning that if you don't already know it. Once you have that knowledge the service desk rules are pretty easy to understand.
Please log in to comment