<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rt-wiki.bestpractical.com/index.php?action=history&amp;feed=atom&amp;title=ImportCustomFieldValues</id>
	<title>ImportCustomFieldValues - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://rt-wiki.bestpractical.com/index.php?action=history&amp;feed=atom&amp;title=ImportCustomFieldValues"/>
	<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=ImportCustomFieldValues&amp;action=history"/>
	<updated>2026-08-24T09:20:00Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=ImportCustomFieldValues&amp;diff=26315&amp;oldid=prev</id>
		<title>Othomas: /* import-custom-field-values */</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=ImportCustomFieldValues&amp;diff=26315&amp;oldid=prev"/>
		<updated>2016-08-06T16:15:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;import-custom-field-values&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:15, 6 August 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I use this script to populate a &amp;quot;select one from many&amp;quot; custom field from a text file generated from a database query.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I use this script to populate a &amp;quot;select one from many&amp;quot; custom field from a text file generated from a database query.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;pre&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;#!/usr/bin/perl&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;pre&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &lt;/ins&gt;#!/usr/bin/perl&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    use warnings;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    use warnings;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key bestpractical_mediawiki1459887241:diff:1.41:old-26314:rev-26315:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Othomas</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=ImportCustomFieldValues&amp;diff=26314&amp;oldid=prev</id>
		<title>Othomas: /* import-custom-field-values */</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=ImportCustomFieldValues&amp;diff=26314&amp;oldid=prev"/>
		<updated>2016-08-06T16:15:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;import-custom-field-values&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:15, 6 August 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I use this script to populate a &amp;quot;select one from many&amp;quot; custom field from a text file generated from a database query.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I use this script to populate a &amp;quot;select one from many&amp;quot; custom field from a text file generated from a database query.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nowiki&lt;/del&gt;&amp;gt;#!/usr/bin/perl&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pre&lt;/ins&gt;&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;#!/usr/bin/perl&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    use warnings;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    use warnings;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l94&quot;&gt;Line 94:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 94:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    &amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nowiki&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    &amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pre&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The replace switch seems to update on version 3.8.7. (SJN)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The replace switch seems to update on version 3.8.7. (SJN)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key bestpractical_mediawiki1459887241:diff:1.41:old-1640:rev-26314:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Othomas</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=ImportCustomFieldValues&amp;diff=1640&amp;oldid=prev</id>
		<title>Admin: 4 revisions imported</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=ImportCustomFieldValues&amp;diff=1640&amp;oldid=prev"/>
		<updated>2016-04-06T20:11:24Z</updated>

		<summary type="html">&lt;p&gt;4 revisions imported&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==import-custom-field-values==&lt;br /&gt;
&lt;br /&gt;
I use this script to populate a &amp;quot;select one from many&amp;quot; custom field from a text file generated from a database query.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/usr/bin/perl&lt;br /&gt;
   &lt;br /&gt;
   use warnings;&lt;br /&gt;
   use strict;&lt;br /&gt;
   &lt;br /&gt;
   use lib qw(/opt/rt3/local/lib /opt/rt3/lib);&lt;br /&gt;
   use Getopt::Long;&lt;br /&gt;
   &lt;br /&gt;
   use RT;&lt;br /&gt;
   RT::LoadConfig();&lt;br /&gt;
   RT::Init();&lt;br /&gt;
   &lt;br /&gt;
   my %args;&lt;br /&gt;
   &lt;br /&gt;
   GetOptions(\%args, &amp;#039;field=s&amp;#039;, &amp;#039;update&amp;#039;,&amp;#039;replace&amp;#039; ,&amp;#039;help&amp;#039;, &amp;#039;verbose&amp;#039;);&lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
    if ($args{&amp;#039;help&amp;#039;} || !($args{&amp;#039;update&amp;#039;}||$args{&amp;#039;replace&amp;#039;})  ){&lt;br /&gt;
      help();&lt;br /&gt;
      exit;&lt;br /&gt;
    }&lt;br /&gt;
   &lt;br /&gt;
   my @lines = &amp;amp;lt;STDIN&amp;amp;gt;;&lt;br /&gt;
   &lt;br /&gt;
   map {chomp} @lines;&lt;br /&gt;
   &lt;br /&gt;
   my $cf = RT::CustomField-&amp;amp;gt;new(RT-&amp;amp;gt;SystemUser);&lt;br /&gt;
   &lt;br /&gt;
   $cf-&amp;amp;gt;Load( $args{&amp;#039;field&amp;#039;} );&lt;br /&gt;
   unless ( $cf-&amp;amp;gt;id ) {&lt;br /&gt;
      die &amp;quot;Couldn&amp;#039;t find that custom field\n&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   if ( $args{&amp;#039;replace&amp;#039;} ) {&lt;br /&gt;
      my $values = $cf-&amp;amp;gt;Values;&lt;br /&gt;
      my %map;&lt;br /&gt;
   &lt;br /&gt;
      while ( my $value = $values-&amp;amp;gt;Next ) {&lt;br /&gt;
          unless (grep {$value-&amp;amp;gt;Name} @lines) {&lt;br /&gt;
           print STDERR &amp;quot;Deleting &amp;quot; . $value-&amp;amp;gt;Name . &amp;quot;\n&amp;quot; if ($args{&amp;#039;verbose&amp;#039;});&lt;br /&gt;
              $value-&amp;amp;gt;Delete();&lt;br /&gt;
          }&lt;br /&gt;
   &lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   if ( $args{&amp;#039;update&amp;#039;} || $args{&amp;#039;replace&amp;#039;} ) {&lt;br /&gt;
      my $values = $cf-&amp;amp;gt;Values;&lt;br /&gt;
      my @current;&lt;br /&gt;
   &lt;br /&gt;
      while ( my $value = $values-&amp;amp;gt;Next ) {&lt;br /&gt;
   &lt;br /&gt;
          push @current, $value-&amp;amp;gt;Name;&lt;br /&gt;
      }&lt;br /&gt;
   &lt;br /&gt;
      foreach my $entry (@lines) {&lt;br /&gt;
          unless ( grep { $entry eq $_ } @current ) {&lt;br /&gt;
              print STDERR &amp;quot;Adding &amp;quot; . $entry . &amp;quot;\n&amp;quot; if ($args{&amp;#039;verbose&amp;#039;});&lt;br /&gt;
              my ( $ret, $val ) = $cf-&amp;amp;gt;AddValue( Name =&amp;amp;gt; $entry );&lt;br /&gt;
          }&lt;br /&gt;
      }&lt;br /&gt;
   &lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   print STDERR &amp;quot;Done\n&amp;quot; if ($args{&amp;#039;verbose&amp;#039;});&lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
   sub help {&lt;br /&gt;
   &lt;br /&gt;
   print &amp;amp;lt;&amp;amp;lt;EOF&lt;br /&gt;
   &lt;br /&gt;
   $0 is a simple RT tool to add values to a custom field.&lt;br /&gt;
   It takes several arguments:&lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
    --field    The id or name of the custom field you&amp;#039;d like to work with&lt;br /&gt;
    --update   Add values to this field, but do not prune unused files&lt;br /&gt;
    --replace  Make the custom field contain only the values listed&lt;br /&gt;
    --verbose  Show progress messages&lt;br /&gt;
   &lt;br /&gt;
   This script expects a list of potential custom field values,&lt;br /&gt;
   one per line to be fed to STDIN.&lt;br /&gt;
   &lt;br /&gt;
   Example:&lt;br /&gt;
   &lt;br /&gt;
   $0 --field &amp;quot;My CF Name&amp;quot; --update &amp;amp;lt; list_of_values&lt;br /&gt;
   &lt;br /&gt;
   EOF&lt;br /&gt;
   &lt;br /&gt;
   }&lt;br /&gt;
   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The replace switch seems to update on version 3.8.7. (SJN)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=ImportCustomFieldValues&amp;diff=1638&amp;oldid=prev</id>
		<title>41.134.191.154 at 12:39, 28 March 2012</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=ImportCustomFieldValues&amp;diff=1638&amp;oldid=prev"/>
		<updated>2012-03-28T12:39:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==import-custom-field-values==&lt;br /&gt;
&lt;br /&gt;
I use this script to populate a &amp;quot;select one from many&amp;quot; custom field from a text file generated from a database query.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/usr/bin/perl&lt;br /&gt;
  &lt;br /&gt;
  use warnings;&lt;br /&gt;
  use strict;&lt;br /&gt;
  &lt;br /&gt;
  use lib qw(/opt/rt3/local/lib /opt/rt3/lib);&lt;br /&gt;
  use Getopt::Long;&lt;br /&gt;
  &lt;br /&gt;
  use RT;&lt;br /&gt;
  RT::LoadConfig();&lt;br /&gt;
  RT::Init();&lt;br /&gt;
  &lt;br /&gt;
  my %args;&lt;br /&gt;
  &lt;br /&gt;
  GetOptions(\%args, &amp;#039;field=s&amp;#039;, &amp;#039;update&amp;#039;,&amp;#039;replace&amp;#039; ,&amp;#039;help&amp;#039;, &amp;#039;verbose&amp;#039;);&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
   if ($args{&amp;#039;help&amp;#039;} || !($args{&amp;#039;update&amp;#039;}||$args{&amp;#039;replace&amp;#039;})  ){&lt;br /&gt;
     help();&lt;br /&gt;
     exit;&lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
  my @lines = &amp;amp;lt;STDIN&amp;amp;gt;;&lt;br /&gt;
  &lt;br /&gt;
  map {chomp} @lines;&lt;br /&gt;
  &lt;br /&gt;
  my $cf = RT::CustomField-&amp;amp;gt;new(RT-&amp;amp;gt;SystemUser);&lt;br /&gt;
  &lt;br /&gt;
  $cf-&amp;amp;gt;Load( $args{&amp;#039;field&amp;#039;} );&lt;br /&gt;
  unless ( $cf-&amp;amp;gt;id ) {&lt;br /&gt;
     die &amp;quot;Couldn&amp;#039;t find that custom field\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if ( $args{&amp;#039;replace&amp;#039;} ) {&lt;br /&gt;
     my $values = $cf-&amp;amp;gt;Values;&lt;br /&gt;
     my %map;&lt;br /&gt;
  &lt;br /&gt;
     while ( my $value = $values-&amp;amp;gt;Next ) {&lt;br /&gt;
         unless (grep {$value-&amp;amp;gt;Name} @lines) {&lt;br /&gt;
          print STDERR &amp;quot;Deleting &amp;quot; . $value-&amp;amp;gt;Name . &amp;quot;\n&amp;quot; if ($args{&amp;#039;verbose&amp;#039;});&lt;br /&gt;
             $value-&amp;amp;gt;Delete();&lt;br /&gt;
         }&lt;br /&gt;
  &lt;br /&gt;
     }&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if ( $args{&amp;#039;update&amp;#039;} || $args{&amp;#039;replace&amp;#039;} ) {&lt;br /&gt;
     my $values = $cf-&amp;amp;gt;Values;&lt;br /&gt;
     my @current;&lt;br /&gt;
  &lt;br /&gt;
     while ( my $value = $values-&amp;amp;gt;Next ) {&lt;br /&gt;
  &lt;br /&gt;
         push @current, $value-&amp;amp;gt;Name;&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
     foreach my $entry (@lines) {&lt;br /&gt;
         unless ( grep { $entry eq $_ } @current ) {&lt;br /&gt;
             print STDERR &amp;quot;Adding &amp;quot; . $entry . &amp;quot;\n&amp;quot; if ($args{&amp;#039;verbose&amp;#039;});&lt;br /&gt;
             my ( $ret, $val ) = $cf-&amp;amp;gt;AddValue( Name =&amp;amp;gt; $entry );&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  print STDERR &amp;quot;Done\n&amp;quot; if ($args{&amp;#039;verbose&amp;#039;});&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  sub help {&lt;br /&gt;
  &lt;br /&gt;
  print &amp;amp;lt;&amp;amp;lt;EOF&lt;br /&gt;
  &lt;br /&gt;
  $0 is a simple RT tool to add values to a custom field.&lt;br /&gt;
  It takes several arguments:&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
   --field    The id or name of the custom field you&amp;#039;d like to work with&lt;br /&gt;
   --update   Add values to this field, but do not prune unused files&lt;br /&gt;
   --replace  Make the custom field contain only the values listed&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  This script expects a list of potential custom field values,&lt;br /&gt;
  one per line to be fed to STDIN.&lt;br /&gt;
  &lt;br /&gt;
  Example:&lt;br /&gt;
  &lt;br /&gt;
  $0 --field &amp;quot;My CF Name&amp;quot; --update &amp;amp;lt; list_of_values&lt;br /&gt;
  &lt;br /&gt;
  EOF&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The replace switch seems to update on version 3.8.7. (SJN)&lt;/div&gt;</summary>
		<author><name>41.134.191.154</name></author>
	</entry>
</feed>