Transfer custom field value in ticket

Juan, it would be good if you put some debug code inside your scrip

code, so you will be able to see if (and what) function returned an
error message. I reviewed the code and I haven’t found any error, but if
anyone see please help :slight_smile:

The debugging lines are inserted into this code. Take a look:

my $CFName = ‘CustomField1’;

my $Reference = $self->TicketObj->ReferredToBy->Next;
my $SourceTicket = $Reference->BaseObj;

$RT::Logger->debug ("source ticket subject: " . $SourceTicket->Subject);

my $CF1Values = $SourceTicket->CustomFieldValues($CFName);

$RT::Logger->debug ("Values for custom field $CFName: " . $CF1Values);

while (my $CurrValue = $CF1Values->Next) {
my( $st, $msg ) = $self->TicketObj->AddCustomFieldValue (Field =>
$CFName, Value => $CurrValue->Content);

$RT::Logger->debug (“Adding a value to custom field: $st - $msg”)
}

return 1;

Regards,

Lucas F. Rosada
lucas@dextra.com.br

Dextra Sistemas
+55 (19) 3256 6722
http://www.dextra.com.br

Lucas F. Rosada
lucas@dextra.com.br

Dextra Sistemas
+55 (19) 3256 6722
http://www.dextra.com.br

Problem is in line:

my $Reference = $self->TicketObj->ReferredToBy->Next;

Because I find in log:

[error]: Scrip 69 Commit failed: Can't call method "BaseObj" on an undefined value at (eval 968) line 4.

It seems correct, but it isn’t getting the source ticket, I tried with RefersTo, Members and MemberOf without success,

Juan Ramón Alfageme Mata
+34 91 787 23 00 alhambra-eidos.com

I tried some more combinations without success.

[Wed Mar 30 07:03:17 2005] [error]: Scrip 69 Commit failed: Can't call method "BaseObj" on an undefined value at (eval 817) line 4.

Stack:
  [(eval 817):4]
  [/opt/rt3/lib/RT/ScripAction_Overlay.pm:228]
  [/opt/rt3/lib/RT/Scrip_Overlay.pm:506]
  [/opt/rt3/lib/RT/Scrips_Overlay.pm:191]
  [/opt/rt3/lib/RT/Transaction_Overlay.pm:168]
  [/opt/rt3/lib/RT/Record.pm:1373]
  [/opt/rt3/lib/RT/Ticket_Overlay.pm:720]
  [/opt/rt3/lib/RT/Interface/Web.pm:386]
  [/opt/rt3/share/html/RTIR/Incident/Display.html:273]
  [/opt/rt3/share/html/RTIR/Incident/Create.html:231]
  [/opt/rt3/share/html/RTIR/Create.html:351]
  [/opt/rt3/share/html/RTIR/autohandler:2]
  [/opt/rt3/share/html/autohandler:215]
  (/opt/rt3/lib/RT/Action/UserDefined.pm:81)
[Wed Mar 30 07:03:17 2005] [info]: Ticket 691 created in queue 'Incidents' by user (/opt/rt3/lib/RT/Ticket_Overlay.pm:730)

Looking at commit code, problem must be in the second line, I am unable to get the reference ticket, in the log problem is always the same there is no reference ticket:

my $CFName = 'CFName';

my $Reference = $self->TicketObj->ReferredToBy->Next; --> Problem must be here.
my $SourceTicket = $Reference->BaseObj;

$RT::Logger->debug ("source ticket subject: " . $SourceTicket->Subject);

my $CF1Values = $SourceTicket->CustomFieldValues($CFName);

$RT::Logger->debug ("Values for custom field $CFName: " . $CF1Values);

while (my $CurrValue = $CF1Values->Next()) {
my( $st, $msg ) = $self->TicketObj->AddCustomFieldValue (Field =>

$CFName, Value => $CurrValue->Content);

$RT::Logger->debug ("Adding a value to custom field: $st - $msg")

}

return 1;

Thanks for your help.

Juan Ramón Alfageme Mata
+34 91 787 23 00 alhambra-eidos.com