Hi.
I have two fields:
I have the following code which sets Components based on Product field if the product fields is visible in the Portal Form. This works fine.
Behavior on field Product:
// Sets components per product
import com.atlassian.jira.component.ComponentAccessor
import com.onresolve.jira.groovy.user.FieldBehaviours
import groovy.transform.BaseScript
import static com.atlassian.jira.issue.IssueFieldConstants.COMPONENTS
@BaseScript FieldBehaviours fieldBehaviours
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def optionsManager = ComponentAccessor.getOptionsManager()
def projectComponentManager = ComponentAccessor.getProjectComponentManager()
def productField = getFieldById(getFieldChanged())
def productOption = productField.getValue() as String
def issueTypeField = getFieldById(COMPONENTS)
def components = projectComponentManager.findAllForProject(issueContext.projectObject.id)
def availableComponents = []
if(productOption == "Infinity Fabric"){
availableComponents.addAll(components.findAll { it.name in ["App Server Console","App Viewer","Data Adapters",\
"Developer Portal","Engagement","Engagement Console","Enterprise App Store (EAS)","Environments","Identity Services",\
"Installer","Integration Services","Legacy Services","License Activation","Logic","Management Console",\
"MF Console","Object Services","Offline Sync","Orchestration","Publish (publishing services for desktopweb/spa)",\
"Reports","RTL","SDK","Security","Sync","Sync Server Console","User Management"] })
}
else{
availableComponents.addAll(components.findAll { it.name in ["Other"] })
}
issueTypeField.setFieldOptions(availableComponents)
When I hide the field with Preset Value, the above does not work.
Please can you advise how can I get value for the hidden field that my behavior script can set Components based on the Product (hidden value)?
Thanks.