Luis, I had trouble awhile back with Custom Field values not being set at all during the execution of a scrip, while all other changes took place correctly. The cause turned out to be that I had set the stage in the scrips to "TransactionCreate" instead of "TransactionBatch". Try that. Remember, you have to turn on "TransactionBatch" in your RT_SiteConfiguration.pm file and bounce your session.
Kenn LBNL On 12/16/2009 6:38 AM, Luis E. Muñoz wrote: > Hi there, > > I am working on a customization script that should issue a number of > configuration changes in a vainilla RT 3.6.7 as shipped with Debian > Lenny. > > The snippet below should create 4 custom fields that would apply to the > General queue, and add a couple of test values to them: > > #!/usr/bin/perl > use lib '/usr/share/request-tracker3.6/lib'; > use strict; use warnings; use RT; use RT::User; use RT::Queue; > use RT::Template; > RT::LoadConfig; > RT::Init; > > for my $d ( [ Field1 => 'My Field 1', { One => 'Value One', > Two => 'Value Two', }], > [ Field2 => 'My Field 2', { One => 'Value One', > Two => 'Value Two', }], > [ Field3 => 'My Field 3', { One => 'Value One', > Two => 'Value Two', }], > [ Field4 => 'My Field 4', { One => 'Value One', > Two => 'Value Two', }],) > { > my $cf = new RT::CustomField ( $RT::SystemUser ); > my ($id, $msg) = $cf->Create( > Name => $d->[0], > Description => $d->[1], > Type => 'Combobox', > LookupType => 'RT::Queue-RT::Ticket', > Pattern => '(?#Mandatory).', > ); > print 'Cannot create CF ' . $d->[0] . ": $msg\n" unless $id; > my $order = 0; > for my $val (sort keys %{$d->[2]}) > { > my ($d, $msg) = $cf->AddValue(Name => $d->[2]->{$val}, > Description => $d->[2]->{$val}, > SortOrder => $order); > print "Value $val: $msg \n"; > $order += 5; > } > > for my $queue (qw/General/) > { > my $q = RT::Queue->new($RT::SystemUser); > $q->Load($queue); > my ($id, $msg) = $cf->AddToObject($q); > print "Can't link CF to queue $queue: $msg\n" unless $id; > } > } > > After the script is run, I can see the fields through Configuration > > Custom Fields, with the intended values. When I try to create a ticket > in the General queue, the corresponding combo boxes are populated with > the expected values. So far so good. > > When the ticket is created, the CF values are stored along with the > ticket and I can see them in the display. > > Whenever I try to change the ticket (say, modify the value of a CF), the > following messages are displayed in my browser before the Basic form: > > * Value Two added as a value for Field1 > * Value Two is no longer a value for custom field Field2 > * Value Two is no longer a value for custom field Field3 > * Value One is no longer a value for custom field Field4 > > The ticket losses the CF values... This is what the logs say. > > Dec 16 05:06:33 rt RT: Ticket 1 created in queue 'General' by root > (/usr/share/request-tracker3.6/lib/RT/Ticket_Overlay.pm:756)#012 > Dec 16 05:06:42 rt RT: About to think about scrips for transaction > #27#012 > Dec 16 05:06:42 rt RT: About to prepare scrips for transaction #27#012 > Dec 16 05:06:42 rt RT: Found 1 scrips#012 > Dec 16 05:06:42 rt RT: About to commit scrips for transaction #27#012 > Dec 16 05:06:42 rt RT: About to think about scrips for transaction > #28#012 > Dec 16 05:06:42 rt RT: About to prepare scrips for transaction #28#012 > Dec 16 05:06:42 rt RT: Found 1 scrips#012 > Dec 16 05:06:42 rt RT: About to commit scrips for transaction #28#012 > Dec 16 05:06:42 rt RT: About to think about scrips for transaction > #29#012 > Dec 16 05:06:42 rt RT: About to prepare scrips for transaction #29#012 > Dec 16 05:06:42 rt RT: Found 1 scrips#012 > Dec 16 05:06:42 rt RT: About to commit scrips for transaction #29#012 > Dec 16 05:06:42 rt RT: About to think about scrips for transaction > #30#012 > Dec 16 05:06:42 rt RT: About to prepare scrips for transaction #30#012 > Dec 16 05:06:42 rt RT: Found 1 scrips#012 > Dec 16 05:06:42 rt RT: About to commit scrips for transaction #30#012 > > After reading through the source, I have been unable to find what am I > missing in my code. Can someone point me in the right direction? > > Thanks and best regards. > > -lem > > _______________________________________________ > http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users > > Community help: http://wiki.bestpractical.com > Commercial support: sa...@bestpractical.com > > > Discover RT's hidden secrets with RT Essentials from O'Reilly Media. > Buy a copy at http://rtbook.bestpractical.com > > _______________________________________________ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: sa...@bestpractical.com Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com