Can I export all custom field options/values?

Daniel Bower September 13, 2016

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

5 votes
Answer accepted
JamieA
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 13, 2016

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>"
Daniel Bower September 13, 2016

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!

JamieA
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 13, 2016

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.

JamieA
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 13, 2016
Like Cesar Duran likes this
Daniel Bower September 13, 2016

That's the one.  Thank you!

Gerald Maguire February 22, 2018

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

Amir Katz (Outseer)
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 15, 2018

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

Like Cesar Duran likes this
Daniel Brown May 9, 2018

@Amir Katz (Outseer) 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.

Like Cesar Duran likes this
Amir Katz (Outseer)
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 9, 2018

@Daniel Brown Thanks, works great!

Michael Johnson
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
October 18, 2018

@JamieAYou saved me a ton of typing! Thank you very much!!

Suggest an answer

Log in or Sign up to answer