-
assigned issue to
Is tree compatible with SIL?
Issue #52
resolved
when use tree Multiple choice ,i can't set value in SIL
Comments (7)
-
repo owner -
repo owner - You need install SIL® Groovy Connector
- Create groovy script like this:
import com.atlassian.jira.component.ComponentAccessor; def cfm = ComponentAccessor.getCustomFieldManager(); def tsm = ComponentAccessor.getComponentClassManager().newInstance('ru.slie.jira.tree.manager.TreeSchemaManagerImpl'); def field = cfm.getCustomFieldObject(10001L); // Customfield ID /* get option by name */ def schema = tsm.getSchema(field.getRelevantConfig(issue)); def option = tsm.getOptionByName(schema, "Node 1/Sub node 1.1"); /* get option by id */ // def option = tsm.getOptionById(74); if (option) { issue.setCustomFieldValue(field, [option]); } return "ololo";
3. Create sil cript:
executeGroovyScript(readFromTextFile("updatetree.groovy"));
4. Create postfunction from exists sil script:
5. Profit
-
thanks a lot!
i have also read [Issue
#43],One more question。The following section from [Issue
#43]/** get value by name **/ /** Customfield, Node name, search limit; If customfield have only one connected schema - it good choice **/ def options = tsm.findOptionByName(treeSingleField, "NMX/Q3-20/Requested", 1) if (!options) { return "no options found"; } def value = options.first()
how to get and set value, if transfer specific treeMutiFiedl ?
-
repo owner
import com.atlassian.jira.component.ComponentAccessor; def tsm = ..... def cfm = ComponentAccessor.getCustomFieldManager(); def treeMultiField = cfm.getCustomFieldObject(10000L); // get field by ID // def treeMultiField = cfm.getCustomFieldObjectsByName("Field Name"); // get field by name def currentOptions = issue.getCustomFieldValue(treeMultiField); def foundOptions = tsm.findOptionByName(treeMultiField, "NMX/Q3-20/Requested", 1); // Return list of TreeOption issue.setCustomFieldValue(treeMultiField, foundOptions); // set multi value // issue.setCustomFieldValue(singleMultiField, foundOptions.first()); // set single value def foundOptions2 = tsm.findOptionByName(treeMultiField, "NMX/Q3-20/Requested2", 1) issue.setCustomFieldValue(treeMultiField, [foundOptions.first(), foundOptions2.first()]); // set multi value
-
thank you!!
It seems that the live fields function in POWER SCRIPTS can only use SIL syntax.
how to set treeMuti in Live fields function?
-
repo owner You need to create JS:
AJS.$("#customfield_10001").empty().append("<option selected value='41'></option>").trigger("change");
and SIL to execute a JS:
lfExecuteJS("set_tree_value.js");
-
repo owner - changed status to resolved
- Log in to comment