[rt-users] Getting customfield value for a ticket

Johan Sjöberg johan.sjoberg at deltamanagement.se
Thu Jun 24 11:01:41 EDT 2010



-----Original Message-----
From: rt-users-bounces at lists.bestpractical.com [mailto:rt-users-bounces at lists.bestpractical.com] On Behalf Of Johan Sjöberg
Sent: den 24 juni 2010 16:35
To: rt-users at lists.bestpractical.com
Subject: Re: [rt-users] Getting customfield value for a ticket



-----Original Message-----
From: rt-users-bounces at lists.bestpractical.com [mailto:rt-users-bounces at lists.bestpractical.com] On Behalf Of Johan Sjöberg
Sent: den 24 juni 2010 16:16
To: rt-users at lists.bestpractical.com
Subject: Re: [rt-users] Getting customfield value for a ticket


-----Original Message-----
From: rt-users-bounces at lists.bestpractical.com [mailto:rt-users-bounces at lists.bestpractical.com] On Behalf Of Kevin Falcone
Sent: den 24 juni 2010 16:03
To: rt-users at lists.bestpractical.com
Subject: Re: [rt-users] Getting customfield value for a ticket

On Thu, Jun 24, 2010 at 03:38:50PM +0200, Johan Sjöberg wrote:
>    We have a custom field named "Customer" that we set for our tickets. I am trying to modify
>    this report to summarize time worked per customer during the given time period:
>    [1]http://wiki.bestpractical.com/view/TimeWorkedReport
> 
> 
> 
>    The problem I have is to get the custom field value for a ticket.
> 
> 
> 
>    I have a Ticket "Object" that is created by
> 
>    my $t = new RT::Ticket($session{'CurrentUser'});
> 
>       $t->Load($tr->ObjectId);
> 
> 
> 
>    After that I want to get the Custom Field value for this ticket. I can see the data in the
>    ObjectCustomFieldValues table, but I do not know how to get the information I want.
> 
>    I have the ticket id in $t->id and the CustomField id is 19.
> 
>    I have tried using the different functions available in the RT perl modules, but have been
>    unable to get it right.
> 
>    I know very little perl, so I have been working at a trial and error basis.
> 
> 
> 
>    Do you have any tips for me on how to get it to work?

All of the methods you might want for this are defined in RT::Record
and you can read their documentation with 
perldoc /opt/rt3/lib/RT/Record.pm

Try searching for CustomFieldValue

-kevin

Thanks for your reply. However, I cannot get perldoc to work, when I run perldoc /opt/rt3/lib/RT/Record.pm I get
No documentation found for "/opt/rt3/lib/RT/Record.pm".
I have verified that Record.pm is in the specified directory. Could this be because my RT is installed using the RPM packages from http://www.tlviewer.org/rt3/rt-3.8.2/ and that the docs are missing?

/Johan 

Sorry, I did only check that the path to the pm files was correct. I do not have any Record.pm anywhere on the server...

/Johan

I solved it. Perldoc was an easier way to understand things than reading the code.

This is how I did it, if anyone is interested:
---snip
# what customer is this?
   my $c = "";
   my $cfs = $t->CustomFieldValues;
   while (my $cf = $cfs->Next) {
	if ($cf->CustomField == 19) {
                                   $c = $cf->Content;
	}
   }
---snip

/Johan




More information about the rt-users mailing list