[rt-users] Scrip question...Getting there slowly...Time Worked

Nat Creamer ncreamer at gmail.com
Wed Feb 27 09:57:59 EST 2008


Greg,

With apologies if this is off-base but I see process as the answer to your
problem. Whether an issue needs to be tracked for troubleshooting over the
phone, at the desk or in the server room it should be "created" from the get
go. Here's my rationale - I look at the first comment (STATUS = New) as the
problem description. It should be short and to the point. Collect necessary
information and create the ticket. To help train your phone support to
comply with this process, make sure they provide end users with a ticket
number before they start to troubleshoot (nice customer service touch).

All comments posted after the fact (STATUS = Open OR Stalled) make up the
bulk of the ticket history and detail troubleshooting steps and
communication with the end user. When solved, the final comment (STATUS =
Resolved) is the resolution which again should be short and to the point.

This allows for reporting to include an easy to read recap of Date |
Requestor | Problem Description | Resolution | Time worked (thanks to your
scrip). If you allow front line/techs to cram all parts of an issue into one
comment that serves as problem/troubleshooting/resolution, you miss out on
important tracking steps that can help with ticket histories/trending/ and
repeatable solutions for a knowledge base. That kind of report can also be
useful in demonstrating work to end-users or management where the details of
a ticket can be confusing or perhaps even inappropriate at times.

The harder part of this process may be training everyone to separate out the
resolution as a separate event (and learning how to make it
concise/clear/valuable) but I think the end result may justify the effort.

Nat

On *Sun Feb 10 02:53:22 EST 2008 *gevans at
hcc.net<rt-users%40lists.bestpractical.com?Subject=%5Brt-users%5D%20Scrip%20question...Getting%20there%20slowly...Time%20Worked&In-Reply-To=589c94400802081837r2b17416fw111541c11c0cc85b%40mail.gmail.com>
**
------------------------------

Hi Ruslan, Mike and everyone reading the list.

I have got the scrip working now, thanks for your input Mike, Ruslan,
it was a lot of help.  I thought I would post it here and then ask a
follow-up question or two :)

Here is what I have so far and it works great as long as you set the
time worked in the ticket after you first create it.

Description: Set Time Worked
Condition: On Transaction
Action: User Defined
Template: Global template: Blank
Stage: Transaction Create

Custom Condition: <None>
Custom Action Preparation Code: 1;

Custom Action Cleanup  Code:

# If we reply to or comment on a ticket
$RT::Logger->debug("Got to Stage 2");
if ($self->TransactionObj->Type eq "Correspond" || $self-
 >TransactionObj->Type eq "Comment")
{
#set our variable $ticket_Worked to the difference in time between the
Created
#datestamp and the updated datestamp

my $date_update=$self->TicketObj->LastUpdatedObj->Unix;
my $date_create=$self->TicketObj->CreatedObj->Unix;

#check current value of time worked for debug
#my $ticket_check = $self->TicketObj->TimeWorked;

#calculate the new value we will place in the TimeWorked field we are
working in unix time
#so everything is in seconds, divide by 60 to get minutes.
my $ticket_Worked = (($date_update - $date_create)/60);

#change the TimeWorked field to the value of our variable
($ticket_Worked)
$self->TicketObj->SetTimeWorked($ticket_Worked);
return 1;
} else {
  return undef;
}


So, that works. now my questions.

1) As I stated the above code works, but with one caveat. If I do not
manually enter the time worked the first time, any updates to the
ticket result in the time worked remaining at "0". I can understand
that for many organizations this would be the preferred method for
this, because someone would create the ticket and there may be lengthy
research involved, etc. before the ticket can be updated, however in
the case for how we are using RT, it is for phone calls in to the
helpdesk, and most tickets are resolved during that first call.  On a
slow day, this would not be an issue, because we could manually enter
the time worked, though if we forget, that destroys the value of the
time worked field. This leads to question #2...

2) When I create a new ticket, I would like to be able to do the same
as above, but it should automatically set the time worked from when I
clicked "New TIcket In..."  to when I actually clicked the "Create"
button. I am assuming that I *should* be able to do this through the
scrip process somehow, so I  decided to watch the rt.log while I
clicked "New Ticket In..." but I saw no entries into the log file that
would indicate that I am creating a new ticket, which I assume is
because it will not be logging that until I actually hit the create
button.  So I am interested in knowing how would I go about
implementing something like this, so that I can ensure hat each ticket
gets an entry in Time Worked without any user having to manually enter
it, or is there no way to accomplish this?



Regards,

Greg Evans
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20080227/26e1ead7/attachment.htm>


More information about the rt-users mailing list