Answers.Body: <p>There are several extensions designed to do exactly this.</p>
  
  <p>First is the aptly-named <a href="https://civicrm.org/extensions/option-value-importer" rel="nofollow noreferrer">Option Values Importer</a>.  It hasn't been updated recently, and it only does the one thing - but it may be simpler to use as a consequence.</p>
  
  <p>There's the <a href="https://github.com/johanv/org.civicoop.configitems" rel="nofollow noreferrer">configitems</a> extension.  This one has a bit more setup, but is great if you have to add/remove values on a regular basis.</p>
  
  <p>Finally, there's the <a href="https://civicrm.org/extensions/api-csv-import-gui" rel="nofollow noreferrer">CSV API GUI</a> extension.  This is an alternative to the "API Explorer" approach Pete suggests, that lets you import in bulk from a CSV file.  This works with all modern versions of CiviCRM and is probably the best bet if you don't want to mess with putting files into your web server's file system.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-01-21T11:02:04.687Z
Answers.Text: Many thanks - a few promising options, particularly the last.
Answers.UserDisplayName: David Phillips
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-01-25T11:41:50.637Z
Answers.Text: I just tried the Options Values importer on CiviCRM 4.7 and it doesn't seem to work. It installs, but I get an error "Cannot read unrecognized property CRM_Core_Config::$maxImportFileSize."
Answers.UserDisplayName: Dan O'Brien
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-01-25T11:42:22.200Z
Answers.Text: I have used the CSV API GUI extension to upload option lists, though, and it works like a charm.
Answers.UserDisplayName: Dan O'Brien
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-01-16T17:56:25.977Z
Answers.LastActivityDate: 2017-01-16T17:56:25.977Z
Answers.UserDisplayName: Jon G - Megaphone Tech
Answers.Body: <p>Just to add to the options above. for brave (and knowledgable) souls who always take backups before operating on production (to paraphrase Dan's comment below) you can also do as an sql insert. For a few you can just 'copy as sql' an existing row then modify and run as a query eg </p>
  
  <p><code>INSERT INTO</code>civicrm_option_value<code>(</code>option_group_id<code>,</code>label<code>,</code>value<code>,</code>name<code>,</code>grouping<code>,</code>filter<code>,</code>is_default<code>,</code>weight<code>,</code>description<code>,</code>is_optgroup<code>,</code>is_reserved<code>,</code>is_active<code>)
  VALUES
      (93, 'Broth', 'broth', 'Broth', NULL, NULL, 0, 1, NULL, 0, 0, 1);
  </code></p>
  
  <p>And if you have a lot to do I tend to do in a spreadsheet and use Concatenate and then insert.</p>
  
  <p>Also a screenshot for the API Explorer approach</p>
  
  <p><a href="https://i.sstatic.net/WOfNw.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/WOfNw.png" alt="enter image description here"></a></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-01-25T11:44:43.120Z
Answers.Text: I'd caution against operating on the SQL databases directly, except for brave souls and those who take backups before operating on production. ;-)
Answers.UserDisplayName: Dan O'Brien
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-01-15T22:20:58.583Z
Answers.LastActivityDate: 2017-01-25T21:21:41.610Z
Answers.LastEditDate: 2017-01-25T21:21:41.610Z
Answers.UserDisplayName: petednz - fuzion
Answers.Body: <p>Is your motivation to transfer the configuration from test to production in a controlled way? A way to do this is to use the API that is part of CiviCRM. It contains a function <em>Optionvalue</em> for this purpose. The API can be called from PHP, drush or as a REST call. The best way to learn more is to use the API Explorer. You can find it via the following menu: <em>Support -> Developer -> API</em> explorer menu.</p>
  
  <p>An example to add a soup to the Food preferences on the standard dataset is in PHP:</p>
  
  <pre><code>$result = civicrm_api3('OptionValue', 'create', array(
    'sequential' =&gt; 1,
    'option_group_id' =&gt; "soup_selection",
    'label' =&gt; "Onion Soup",
    'name' =&gt; "Onion_Soup",
    'value' =&gt; "onion",
    'weight' =&gt; 45,
   ));
  </code></pre>
  
  <p>Or directly with Drush:</p>
  
  <p><code>drush cvapi OptionValue.create sequential=1 option_group_id="soup_selection" label="Onion Soup" name="Onion_Soup" value="onion" weight=45 </code></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-01-15T22:03:01.637Z
Answers.Text: Nice write up. Weight is usually not spelt "weigth" just in case that trips any one up
Answers.UserDisplayName: petednz - fuzion
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-01-15T21:21:11.197Z
Answers.LastActivityDate: 2017-01-15T22:05:23.930Z
Answers.LastEditDate: 2017-01-15T22:05:23.930Z
Answers.UserDisplayName: Kainuk - CiviCooP
Body: <p>I have defined a custom field of type Integer Select.  How can I import a list of integers into the dropdown options list (rather than enter them manually, one at a time)?</p>
  
Tags: <contacts><option>
Title: How can I import dropdown options?
ThreadText: # How can I import dropdown options?
  
  (Asked by: username_0 on 2017-01-15)
  
  I have defined a custom field of type Integer Select. How can I import a list of integers into the dropdown options list (rather than enter them manually, one at a time)?
  
  **Tags:** contacts, option
  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_1 on 2017-01-16. Score: 2
  
  There are several extensions designed to do exactly this.
  
  First is the aptly-named [Option Values Importer](https://civicrm.org/extensions/option-value-importer). It hasn't been updated recently, and it only does the one thing - but it may be simpler to use as a consequence.
  
  There's the [configitems](https://github.com/johanv/org.username_4.configitems) extension. This one has a bit more setup, but is great if you have to add/remove values on a regular basis.
  
  Finally, there's the [CSV API GUI](https://civicrm.org/extensions/api-csv-import-gui) extension. This is an alternative to the "API Explorer" approach Pete suggests, that lets you import in bulk from a CSV file. This works with all modern versions of CiviCRM and is probably the best bet if you don't want to mess with putting files into your web server's file system.
  
  > **Comments:**
  > **username_0**: Many thanks - a few promising options, particularly the last.  
  > **username_2**: I just tried the Options Values importer on CiviCRM 4.7 and it doesn't seem to work. It installs, but I get an error "Cannot read unrecognized property CRM_Core_Config::$maxImportFileSize."  
  > **username_2**: I have used the CSV API GUI extension to upload option lists, though, and it works like a charm.  
  
  ---
  
  ### Answer by username_3 on 2017-01-15. Score: 0
  
  Just to add to the options above. for brave (and knowledgable) souls who always take backups before operating on production (to paraphrase Dan's comment below) you can also do as an sql insert. For a few you can just 'copy as sql' an existing row then modify and run as a query eg
  
  `INSERT INTO`civicrm\_option\_value`(`option\_group\_id`,`label`,`value`,`name`,`grouping`,`filter`,`is\_default`,`weight`,`description`,`is\_optgroup`,`is\_reserved`,`is\_active`)
  VALUES
  (93, 'Broth', 'broth', 'Broth', NULL, NULL, 0, 1, NULL, 0, 0, 1);`
  
  And if you have a lot to do I tend to do in a spreadsheet and use Concatenate and then insert.
  
  Also a screenshot for the API Explorer approach
  
  [![enter image description here](https://i.sstatic.net/WOfNw.png)](https://i.sstatic.net/WOfNw.png)
  
  > **Comments:**
  > **username_2**: I'd caution against operating on the SQL databases directly, except for brave souls and those who take backups before operating on production. ;-)  
  
  ---
  
  ### Answer by username_4 on 2017-01-15. Score: 0
  
  Is your motivation to transfer the configuration from test to production in a controlled way? A way to do this is to use the API that is part of CiviCRM. It contains a function *Optionvalue* for this purpose. The API can be called from PHP, drush or as a REST call. The best way to learn more is to use the API Explorer. You can find it via the following menu: *Support -> Developer -> API* explorer menu.
  
  An example to add a soup to the Food preferences on the standard dataset is in PHP:
  
  ```
  $result = civicrm_api3('OptionValue', 'create', array(
    'sequential' => 1,
    'option_group_id' => "soup_selection",
    'label' => "Onion Soup",
    'name' => "Onion_Soup",
    'value' => "onion",
    'weight' => 45,
   ));
  
  ```
  
  Or directly with Drush:
  
  `drush cvapi OptionValue.create sequential=1 option_group_id="soup_selection" label="Onion Soup" name="Onion_Soup" value="onion" weight=45`
  
  > **Comments:**
  > **username_3**: Nice write up. Weight is usually not spelt "weigth" just in case that trips any one up  
  
  ---
  
  