Lookup Manager
Breadcrumbs

Mapping a Cascading Select List Option to Your Lookup Table

/*<![CDATA[*/ div.rbtoc1762509495510 {padding: 0px;} div.rbtoc1762509495510 ul {list-style: disc;margin-left: 0px;} div.rbtoc1762509495510 li {margin-left: 0px;padding-left: 0px;} /*]]>*/ Scenario Pre-Requisite Steps Design of your Lookup String Value Result on how your lookup the values is stored in your Lookup Table Tips

Scenario

I have a long list of options, which has multiple child options for the custom field used.

Based on User's selection, I want the lookup post function to return me a username based on the Platform selected.

How can I structure the lookup table for this custom field? 



Pre-Requisite

  1. You have a cascading custom field. And this is how your cascading values are stored.
    Platform Version:s values.png

  2. Looking at your Jira issue, this is how the field populates (Parent: Jira, Child 7.9.X/7.8.X/7.7X)
    Platform Version:s in Issue.png



Steps

Design of your Lookup String Value

e.g. {null=Parent, 1=Child}

Value Design.png

Result on how your lookup the values is stored in your Lookup Table

Platform Version:s Lookup Table.png

Please look at "Action if No Records Matched" located in  Setting up Lookup Manager Post Function  and configure your preferred settings when no matching platforms is found in your post function.




Tips

  1. Field type Storing Formats we have identified

    Plugin

    Custom Field Type

    Format

    Example

    Jira

    Select List (cascading)

    {null=parent value, 1=child value}

    {null=jira, 1=7.9.x}

    Dynamic Forms for Jira

    Deviniti [Dynamic Forms] - Dynamic Cascading Select

    {null=parent value, 1=child value}

    {null=jira, 1=7.9.x}

    Multi-Level Cascading Select

    Multi-Level Cascading Select

    [parent value, child value, grandchild value]

    [jira, 7.9.x, 4 ]


  2. Finding your other option's value? Update your Lookup Table Row values based on how your Lookup String with any of the methods below.View your parent and child values via a SQL query SELECT cf.cfname "Field Name", cfo1.customvalue "Primary Option", cfo2.customvalue "Secondary Option", concat("{null=", cfo1.customvalue, ", 1=", cfo2.customvalue, "}") "Lookup String" FROM customfield cf, customfieldoption cfo1, customfieldoption cfo2 WHERE cfname = 'Platform Version/s' AND cf.id = cfo1.customfield AND cf.id = cfo2.customfield AND cfo1.parentoptionid is null AND cfo2.parentoptionid = cfo1.id View your cascading field's value via a script (with ScriptRunner) import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.issue.CustomFieldManager; import com.atlassian.jira.issue.fields.CustomField; import com.atlassian.jira.issue.fields.FieldManager; import org.apache.log4j.Level; import org.apache.log4j.Logger; Logger logger = Logger.getLogger("com.akeles.jira"); logger.setLevel(Level.DEBUG); CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager(); def issue = ComponentAccessor.getIssueManager().getIssueByCurrentKey("TESTPROJ-123") // the custom field id we are pulling is: 10901 CustomField cField = customFieldManager.getCustomFieldObject(10901L); String cFieldValue = (String) issue.getCustomFieldValue(cField); logger.debug("Custom field's value is = " + cFieldValue);