Can I export all custom field options/values?

Script Runner has a "Bulk import custom field values" script built in.  I'm looking for a script or add-on or built in functionality to export all of the values/options for a custom field.  Specifically a Cascading Select List. I'd like to be able to export the whole thing to Excel or CSV, currently the only way I know to get this data is copy/paste from the browser and them cleaning it all up.

1 answer

1 accepted

You can use something like this to print the option values with nesting. Should also work with multi-level cascading select.

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.customfields.manager.OptionsManager
import com.atlassian.jira.issue.customfields.option.Option

def optionsManager = ComponentAccessor.getComponent(OptionsManager)

def customFieldManager = ComponentAccessor.getCustomFieldManager()
def cf = customFieldManager.getCustomFieldObjectByName("CascadingSelect") // <- change name of field

Closure formatOption
def sb = new StringBuilder()

formatOption = { int depth, Option option ->
    sb << (("\t" * depth) + option.value + "\n")
    option.childOptions.each {
        formatOption(depth, it)

cf.getConfigurationSchemes().each { fieldConfigScheme ->
    def fieldConfig = fieldConfigScheme.getOneAndOnlyConfig()
    sb << "Options for ${}\n\n"

    optionsManager.getOptions(fieldConfig).each {
        formatOption(0, it)

"<pre>" + sb.toString() + "</pre>"

That's very slick, thanks for the quick turnaround.  For a regular field it's perfect. For a Cascading Select, every option below the top level is indented further, so it makes for a very wide page.  But I should be able to manipulate in it excel a bit.  Thank you!

hrm it wasn't when I ran it, they were indented... maybe I screwed something up somehow.

You can just change the "depth++" to a 0 to turn off indenting.

That's the one.  Thank you!

how would you modify the above, if you only wanted to display/export enabled values. 

@Jamie Echlin [Adaptavist] Sorry for my ignorance, but I miss these points:

  1. Where do I put this groovy code?
  2. How is it activated?
  3. Where is the output shown/written to? 


@Amir Katz I'm not Jamie but I can help. This code is executed in the ScriptRunner addon.

If you have it installed, you can run this via the Script Console. It can be found in:

Administration > Add-ons > Script Runner (on the side toolbar) > Script Console

The output is visible below the script field, under the "Logs" tab.

@Daniel Brown Thanks, works great!

@Jamie Echlin [Adaptavist]You saved me a ton of typing! Thank you very much!!

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Nov 27, 2018 in Portfolio for Jira

Introducing a new planning experience in Portfolio for Jira (Server/DC)

In the past, Portfolio for Jira required a high degree of detail–foresight that was unrealistic for many businesses to   have–in   order to produce a reliable long-term roadmap. We're tur...

2,299 views 12 19
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you