====== Scripted Conditions ====== Following scripts can be used for scripted conditions within the workflow === Only specific users will have access to this workflow step === currentUser.name in ["USERID1","USERID2"] === Only if Version 2.0 not in Fix Version field === !("Version 2.0" in issue.fixVersions*.name) === Only return true if we have "Awaiting Approval" in field Approval Stats and therefore display transition === import com.atlassian.jira.component.ComponentAccessor //Define Custom Field Manager def cfm = ComponentAccessor.getCustomFieldManager() //get field object def cfApprovalStatus = cfm.getCustomFieldObjectByName("Approval Status") def cfApprovalStatusValue = issue.getCustomFieldValue(cfApprovalStatus) //check if the field is equal to Awaiting Approval if (cfApprovalStatusValue == "Awaiting Approval"){ //Returned true in comparison return true } === Only allow transition if none of the values in custom fields are "Awaiting Approval" === import com.atlassian.jira.component.ComponentAccessor //Define cfm def cfm = ComponentAccessor.getCustomFieldManager() //get field object def cfFirstApprovalStatus = cfm.getCustomFieldObjectByName("First Approval Status") def cfFirstApprovalStatusValue = issue.getCustomFieldValue(cfFirstApprovalStatus) def cfSecondApprovalStatus = cfm.getCustomFieldObjectByName("Second Approval Status") def cfSecondApprovalStatusValue = issue.getCustomFieldValue(cfSecondApprovalStatus) if ((cfFirstApprovalStatusValue != "Awaiting Approval")&&(cfSecondApprovalStatusValue != "Awaiting Approval"){ //Returned true in comparison return true } === Allow only if user is member of role "Developers" in project OR "My Field" has value of "Field Value" === import com.atlassian.jira.component.ComponentAccessor def selectedMyField = cfValues['My Field'].toString() def userUtil = ComponentAccessor.getUserUtil() isUserMemberOfRole("Developers") || selectedMyField.equals("Field Value")