Lets say I have 2 custom fields:
I want to create behavior when, user creates a request from a Customer Portal, and selects from Select list lets say Item1, then items in Checkboxes change to my defined custom values.
When user selects Item2 in Select list, then items in Checkboxes change to other custom values which are expected for Item2
I tried to find code for ScriptRunner plugin, but none of them helped.
Hi Ravi,
Thanks for the links. I tried to perform steps in the articles and achieved some progress.
I have put this script:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager;
def issueManager = ComponentAccessor.getIssueManager()
def customFieldManager = ComponentAccessor.customFieldManager
def optionsManager = ComponentAccessor.optionsManager
def foldersField = getFieldById(fieldChanged)
def subfoldersField = getFieldByName("Subfolders")
// Get the all the options of Subfolders
def subfoldersCF = customFieldManager.getCustomFieldObjectsByName("Subfolders")[0]
def config = subfoldersCF.getRelevantConfig(getIssueContext())
def options = optionsManager.getOptions(config)
// Checks
if (foldersField.value == "folder1") {
def newOptions = options.findAll { it.value in ["subfolder1", "subfolder2"] }
subfoldersField.setFieldOptions(newOptions)
}
else if ((foldersField.value == "folder2")) {
def newOptions = options.findAll { it.value in ["subfolder2", "subfolder3", "subfolder4"] }
subfoldersField.setFieldOptions(newOptions)
}
I can not find how to properly clean Subfolders checkboxes field values when request has been opened the first time. I want values appear only when foldersField item has been selected.
I tried to hide Subfolder field on initialize step:
getFieldByName("Subfolders").setHidden(true)
But when I put
// Checks
if (foldersField.value == "folder1") {
getFieldByName("Subfolders").setHidden(false)
def newOptions = options.findAll { it.value in ["subfolder1", "subfolder2"] }
subfoldersField.setFieldOptions(newOptions)
}
else if ((foldersField.value == "folder2")) {
getFieldByName("Subfolders").setHidden(false)
def newOptions = options.findAll { it.value in ["subfolder2", "subfolder3", "subfolder4"] }
subfoldersField.setFieldOptions(newOptions)
}
nothing happens (field does not want to appear).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.