Created
April 27, 2021 05:56
-
-
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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