Hello,
we have a transition where I can create a ticket to other teams. There, with the help of Behaviours, the fields for the corresponding project are displayed.
My script correctly pulls all these fields, but cannot display the fields that have a Context.
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.fields.screen.FieldScreenTab
import com.atlassian.jira.issue.fields.screen.FieldScreenLayoutItem
import com.atlassian.jira.issue.fields.screen.FieldScreenManager
import com.atlassian.jira.issue.fields.screen.FieldScreen
import com.onresolve.jira.groovy.user.FormField
import groovy.transform.BaseScript
import com.onresolve.jira.groovy.user.FieldBehaviours
import com.atlassian.jira.component.ComponentAccessor
@BaseScript FieldBehaviours fieldBehaviours
def kollabArt = getFieldById("customfield_15300")
def team = getFieldById("customfield_15301")
FieldScreenManager fieldScreenManager = ComponentAccessor.getFieldScreenManager()
List <FieldScreenTab> fieldScreenTabs = []
List <FieldScreenLayoutItem> fieldScreenItems = []
List <FormField> screenFieldList = []
//Hide all cF
List <CustomField> allCf = ComponentAccessor.getCustomFieldManager().getGlobalCustomFieldObjects()
allCf.each{ field ->
FormField cF = getFieldById(field.getId())
cF.setHidden(true)
}
kollabArt.setHidden(false)
//Hide all standard Fields
List <String> standardF = ["components", "attachment", "description", "labels", "issue type", "priority", "reporter", "assignee", "due date", "comment", "summary"]
standardF.each { field ->
getFieldById(field).setHidden(true)
}
//method to get all Fields for Create
public void showFieldsOnScreen(long id, List<FieldScreenTab> fieldScreenTabs, List<FieldScreenLayoutItem> fieldScreenItems, List<FormField> screenFieldList) {
fieldScreenTabs = fieldScreenManager.getFieldScreenTabs(fieldScreenManager.getFieldScreen(id))
fieldScreenItems = fieldScreenManager.getFieldScreenLayoutItems(fieldScreenTabs.get(0))
fieldScreenItems.each{ items ->
FormField field = getFieldById(items.getFieldId())
screenFieldList.add(field)
}
screenFieldList.each{ cF ->
cF.setHidden(false)
}
}
switch(team.value){
case "XXX":
switch(kollabArt.value){
case "YYY":
case "ZZZ":
showFieldsOnScreen(12201, fieldScreenTabs, fieldScreenItems, screenFieldList)
break;
}
break;
}
All other CustomFields are hidden/shown correctly. How can i do it if these CustomFields are having context?