[Rt-devel] "Create Ticket" action problems
sam.howard at gmxtechnologies.com
sam.howard at gmxtechnologies.com
Wed Dec 14 11:43:01 EST 2005
Hi.
I tried this on the rt-user list, but got no response ... maybe this is
deeper than a normal user question?
Background:
We're trying to create "subtask" tickets from the creation of a "master"
ticket based on the settings of various custom fields. For each custom
field, if the value is "Required", then create a new ticket and link it
back to the "master". Seems simple enough and seems like a job for the
"Create Tickets" action in a TransactionBatch.
The problem:
When in the template for the "Create Tickets" action, the perl parser
seems to be executed *after* the initial parsing of the template file,
which seems to search for "===Create-Ticket" lines to create a hunk of
data to use for creating each ticket. This prevents me from using perl
in the template to generate the "===Create-Ticket" stanzas (since the
"===Create-Ticket" must be there for the initial parse *prior* to the
perl code evaluation). I'm wondering if this would be considered a bug
in the "Create Ticket" action? It's certainly a pain in the ass. :)
So, I am bailing out of that idea and switching to "TransactionStage"
and processing each ticket one at a time. Next problem I ran into was
figuring out what data objects are available within the "Create Ticket"
action's template. Stuff like $self, $ticket, and $transaction do not
appear to be defined! I do have a $Tickets{'TOP'}, and
$Tickets{'TOP'}->Transactions does return a perl object, but none of the
methods and data I expect to be associated with a Transaction are there
(i.e. $trans->Field). How can I dump the contents of this object to
figure out what's actually in there and available?
Basically, I am stuck. I can get the data I need in TransactionBatch,
but I can't dynamically create the template for the multiple
Create-Ticket's, and I can create the template I need in
TransactionStage, but can't get to the data of the transaction to find
out which custom field was flipped (and therefor what queue to create
the ticket in).
As my last resort, I was going to do a User Defined action or a regular
notify action with a template that will expose the $Transaction to me,
but I haven't figured out how to create a ticket the "hard way" yet
(i.e. the RT API). Any pointers to that would be welcome, as I haven't
found anything on the Wiki or in the book (nice book, btw ... I hope RT
Programming is comming out next!)
I can provide code chunks, configuration details, whatever, but I
figured this note was long enough already, so please ask if you want
more details or copies of the code I've tried.
Thanks!
Sam
More information about the Rt-devel
mailing list