Resolution Survey Help

Ok. So I am trying to take something of a ticket-close survey because notes have been somewhat lacking, and we are trying to figure out root causes of some issues.

I have set up a set of mandatory transaction custom fields to accomplish this task, but I have a few goals/improvements I would like to implement if possible:

  1. Only show the transaction CFs on Resolve or Reject
  2. Do not allow users to update status to Resolve/Reject without using the Comment/Reply window
  3. Use Ticket CFs as lookup values for some of the transaction CF entry choices
  4. Prevent users from selecting Resolve or Reject but determine if the ticket is resolved/rejected based on transaction CF answers. This could be considered a viable alternative to #1.
  5. Get a report on the CF answers for the final transaction of type Resolved or Rejected.

My guess is I’m not going to get all of these super easily, but any direction would be appreciated.

Thanks in advance!

Looks like you’ve got a bit of work on there! I think I’d be tempted to start by seeing if any Callbacks would let you achieve some of this. For example /Elements/ShowCustomFields has quite a lot of callbacks in it, including one right at the start called MassageCustomFields that includes a CustomFields parameter that is passed what looks like an RT::CustomFields object. Similarly there is a MassageTransactionCustomFields callback in Tickets/Elements/EditTransactionCustomFields. I wonder if you could tweak one of these to exclude the custom fields you want hidden from the display, unless the ticket has the right status?

You might also be able to do (2) with callbacks, though I suspect you might have to do it in several places, because there are a number of places you can change the status of a ticket. Alternative you could use a scrip to check it and reset the status, though that means you’ll effectively be reopening tickets and you’ll probably have resolution messages already being set out to users. Better to stop the status being changed.

1 Like

I’d wonder about creating a custom HTML page and rendering it as the update page when resolving a ticket, then do something with the content of that page – Maybe just comment the survey results

Thanks guys!

Just to be clear, I am still kind of sifting through the and trying to see how much I can do without leaving the GUI :laughing: Not afraid to write some scrips - I just haven’t had to dive in that far yet, and idk - I just can’t ever find info on what I want to understand in the wiki or docs.
Adding the Transaction CFs was a quick and dirty way to start getting feedback, and then I was thinking of ideas to make it better.

@GreenJimll Well, the ticket would be new or open when they go to close it, so it would have to be based on the status they are selecting, not the current ticket status, so I don’t know if that would even work. Sounds like changes would need to be on browser side script somehow, which sounds like something I don’t want to touch XD

But I will take a peek at those callbacks.

I think if I set up the queue permissions to basically not allow anyone to change the ticket status (force them to just write a regular reply), I could then maybe have a scrip or two that runs on every transaction and re-assign/resolve/reject based on the answers to the transaction CFs? Then the user has to fill out my survey. I’m not sure this will solve all of my problems, but I’ve been mulling the idea over. Thoughts? I wasn’t quite sure how to grab the transaction CFs in the scrip, though.

I wish you could force people to have to write a reply/comment in order to change the status. Or apply transaction CFs to status updates. That would solve part of the issue and simplify any scrip needs.

@knation Hmm. So this HTML would live on the RT instance?

I need to see if I can use API or something to pull the TCFs into some kind of custom report, because they aren’t really accessible from ticketSQL I don’t think.

Yeah you can put them in a local/htmt dir and RT will render them, so you’d use a callback to determine when to render that custom page instead of the normal update page.

I need to see if I can use API or something to pull the TCFs into some kind of custom report, because they aren’t really accessible from ticketSQL I don’t think.

There is a transaction query builder!

1 Like

now i feel stupid

I see that now. :joy:

Now looking at these:

Honestly, using regular CFs has some benefits (just one answer to survey in the end), but I might have to play with permissions so the system-configured ones aren’t changed.