[rt-users] differentiate tickets created by rt-mailgate
Luke Vanderfluit
lvanderf at internode.com.au
Wed Jun 14 00:04:44 EDT 2006
Hi Stephen & Eric & all.
> At Monday 6/12/2006 11:06 PM, Luke Vanderfluit wrote:
>
>> Hi.
>>
>> I need to find out which tickets have been created by emails sent in
>> to RT.
>> I'm thiking maybe I can add an attribute value with rt-mailgate,
>> haven't checked the API yet.
>> Anyone know of a way to do this?
>>
>> Thanks.
>> Kind regards.
>>
>
> We have a condition that goes in a scrip to determine this. The code
> assumes that if the first attachment on a create transaction has a
> 'Received' header, it's an email create. The code (from the condition)
> is something like this:
>
> my $msgattr = $self->TransactionObj->Message->First;
> if ( $msgattr and $msgattr->GetHeader('Received') ) {
> # It's an email creation
> }
>
> It seems to work OK. You could use this in a scrip to set a custom
> field or whatever.
>
The page in the bestpractical wiki is now:
http://wiki.bestpractical.com/index.cgi?OnWebCorrespond
This was very helpful.
When a ticket is created via email, I set the 'TimeLeft' field, which is
otherwise unused in our organisation, to '1' as a flag to later test on.
First I disable the default Autoreply to the queue in question
(Accounts) by modifying the default Autoreply on creation script,
modifying its condition:
/~~~~~~~~~~~~
if ( $self->TransactionObj->Type eq "Create" ) {
if ( $self->TicketObj->QueueObj->Name eq 'Accounts' ) { return 0; }
return 1;
}
\____________
Then I create a scrip in the 'Accounts' queue that has a user-defined
condition for 'autoreply to requestors'.
This is where I do the work on setting the 'TimeLeft' field:
/~~~~~~~~~
my $trans = $self->TransactionObj;
# OnCreate:
return 0 unless $trans->Type eq "Create";
# Get the message attachment
my $msgattr = $trans->Message->First;
return 1 unless $msgattr; # no message attachment - assume web UI
if ($msgattr->GetHeader('Received')) {
$self->TicketObj->__Set( Field => 'TimeLeft', Value => 1);
return 1;
}
return 1;
\__________
Thanks.
Kind regards.
--
Luke Vanderfluit.
Analyst/Programmer.
Internode Systems Pty. Ltd.
More information about the rt-users
mailing list