You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
Next: Root
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
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.