I created a behaviour with following server side script based on field Component/s and mapped it to my project/issue type and it works as expected.
import com.atlassian.jira.bc.project.component.ProjectComponent
import com.onresolve.jira.groovy.user.FieldBehaviours
import groovy.transform.BaseScript
@BaseScript FieldBehaviours behaviours
def desc = getFieldById("description")
def descValue = desc.getValue()
def templateDGDesignComponentDesc = "THIS IS TEMPATE"
def components = getFieldById(getFieldChanged()).getValue() as List<ProjectComponent>
if (getActionName() == "Create" || getActionName() == "Create Issue") {
if (! underlyingIssue?.description) {
if (descValue == "") {
if (components.any {it.name.contains("DG Design")}) {
desc.setFormValue(templateDGDesignComponentDesc)
}
}
}
}
However, when I try to create a new behaviour, which I plan to map to a different project, the minute I select field Component/s and click on Server Side Script, the above code appears, if I update the code and save, it overrides the code in my previous behaviour.
Can I not have two behaviours for two separate projects with separate server side code based on Component/s field?