Hide a transition from an issue detail view in Atlassian Jira Software if a condition returns false.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.customfields.option.Option
import org.apache.log4j.Level
import org.apache.log4j.Logger
def myLog = Logger.getLogger("Condition Dropdown dependency")
myLog.setLevel(Level.INFO)
// The select list cf
// In the example the id of the cf select list is 10602
// The option "Stop here" has the id 10200
def cfDropdown = ComponentAccessor.getCustomFieldManager().getCustomFieldObject(10602)
def cfDropdownValue = issue.getCustomFieldValue(cfDropdown)
def Option cfDropdownOptions = (Option)cfDropdownValue
def cfDropdownValueId = cfDropdownOptions.getOptionId()
// The date picker cf
def cfDatepicker = ComponentAccessor.getCustomFieldManager().getCustomFieldObject(10601)
def cfDatepickerValue = issue.getCustomFieldValue(cfDatepicker)
// Return false if the date picker cf mandatory hasn't been set
// and the dropdown is set to "Stop here"
def returnValue = true
if (cfDropdownValueId == 10200 && cfDatepickerValue == null) {
returnValue = false
}
return returnValue
Install myGroovy
It is free, and an extremely versatile add-on.
https://marketplace.atlassian.com/apps/1218755/mygroovy?hosting=server&tab=overview
Use it together with JSIncluder to inject JavaScript in Jira issues. JSIncluder is from the same group of developers like myGroovy. And it is free, as well.
https://marketplace.atlassian.com/apps/1211670/jsincluder?hosting=server&tab=overview
Further Information
https://github.com/mailru/jira-scripts/tree/master/JIRA%20groovy%20templates
https://gist.github.com/chuikoaleksandr
Support
Send me an email for any kind of support related to Atlassian.