Skip to content

Instantly share code, notes, and snippets.

@vikrantyadav11
Created April 27, 2021 05:56
Show Gist options
  • Save vikrantyadav11/a5c317dec212f4d874f8163873fc9cbe to your computer and use it in GitHub Desktop.
Save vikrantyadav11/a5c317dec212f4d874f8163873fc9cbe to your computer and use it in GitHub Desktop.
Set Second field value based on First Select List custom field value using Behaviour
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import com.onresolve.jira.groovy.user.FieldBehaviours
import com.atlassian.jira.issue.customfields.manager.OptionsManager
import com.onresolve.jira.groovy.user.FieldBehaviours
import groovy.transform.BaseScript
@BaseScript FieldBehaviours fieldBehaviours
def optionsManager = ComponentAccessor.getOptionsManager()
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def vertical = getFieldByName("Team MM 365/365+")
def typeOfEngagement = getFieldByName("Subtask Type")
def typeOfEngagementCustomField = customFieldManager.getCustomFieldObjectByName("Subtask Type")
def verticalValue = vertical.getValue()
def fieldConfig = typeOfEngagementCustomField.getRelevantConfig(getIssueContext())
def allowedOptions = null
if (verticalValue.toString() == "Requirements"){
allowedOptions = optionsManager.getOptions(fieldConfig).findAll {
it.value in ["PRD Requirements","Pay Calendar Requirements","Rates Requirements","Web Requirements","Plan Attributes Requirements","Payroll Attributes/Deduction Code Requirements","Life Event Matrix Requirements"]
}
}else if (verticalValue.toString() == "Standard Configuration"){
allowedOptions = optionsManager.getOptions(fieldConfig).findAll {
it.value in ["Eligibility Configuration","Plan Mapping Configuration","Core Set Up Configuration","Rates Configuration","Plan Attributes and Misc Configuration","Pay Calendar Configuration","Payroll Attributes/Deduction Codes Configuration","Complete Checklist Configuration","Life Events Configuration","Plan Documents Configuration","Pre OE Closeout Configuration","Post OE Closeout Configuration"]
}
}else if (verticalValue.toString() == "Testing"){
allowedOptions = optionsManager.getOptions(fieldConfig).findAll {
it.value in ["Rates Testing","Shopping Testing","Eligibility and Web Testing","Rate Validation Testing","Plan Attributes/Plan Compare Testing","Testing","Expert Guidance/Guided Shopping Testing","Product ID Testing","Life Events Testing","Ongoing Testing","PSA Testing","Imp Payroll Testing OE","Imp Payroll Testing OG","OE Calc Analysis","Release to Mercer UAT"]
}
}else if (verticalValue.toString() == "EDI"){
allowedOptions = optionsManager.getOptions(fieldConfig).findAll {
it.value in ["None"]
}
}else if (verticalValue.toString() == "Payroll"){
allowedOptions = optionsManager.getOptions(fieldConfig).findAll {
it.value in ["None"]
}
}else if (verticalValue.toString() == "Custom Configuration"){
allowedOptions = optionsManager.getOptions(fieldConfig).findAll {
it.value in ["None"]
}
}else if (verticalValue.toString() == "Account Structure"){
allowedOptions = optionsManager.getOptions(fieldConfig).findAll {
it.value in ["None"]
}
}
typeOfEngagement.setFieldOptions(allowedOptions)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment