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

2 votes

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")
    depth++
    option.childOptions.each {
        formatOption(depth, it)
    }
}

cf.getConfigurationSchemes().each { fieldConfigScheme ->
    def fieldConfig = fieldConfigScheme.getOneAndOnlyConfig()
    sb << "Options for ${fieldConfigScheme.name}\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? 

Thanks

@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.

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Posted Wednesday in Jira

Join our webinar: How 1B+ feature flag events helped us build the new Jira

Every time you release software, there's a bit of risk – that there's a bug, that something breaks, or that the feature doesn't resonate with customers. Feature flagging helps make high stakes s...

91 views 0 1
Join discussion

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