package example.AssignerFromDepartment
import com.atlassian.crowd.embedded.api.User
import com.atlassian.jira.event.issue.AbstractIssueEventListener
import com.atlassian.jira.event.issue.IssueEvent
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.customfields.CustomFieldType
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.ManagerFactory
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.user.util.UserUtil
import com.atlassian.jira.issue.comments.CommentManager
import com.atlassian.mail.Email
import com.atlassian.mail.server.MailServerManager
import com.atlassian.mail.server.SMTPMailServer
import org.apache.log4j.Category
import org.ofbiz.core.entity.GenericValue
import com.atlassian.jira.project.ProjectManager
import com.atlassian.jira.project.Project
import com.atlassian.jira.issue.util.IssueChangeHolder;
import com.atlassian.jira.util.ErrorCollection;
import com.atlassian.jira.util.ImportUtils;
import com.atlassian.jira.util.JiraUtils;
import com.opensymphony.workflow.WorkflowContext
import com.atlassian.jira.workflow.WorkflowManager
import com.atlassian.jira.config.SubTaskManager
import com.atlassian.jira.workflow.WorkflowTransitionUtil
import com.atlassian.jira.workflow.WorkflowTransitionUtilImpl;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.crowd.embedded.api.User;
class TaskVersionListener extends AbstractIssueEventListener {
Category log = Category.getInstance(TaskVersionListener.class)
@Override
void workflowEvent(IssueEvent event) {
log.setLevel(org.apache.log4j.Level.DEBUG)
ComponentManager componentManager=ComponentManager.getInstance()
CustomFieldManager customFieldManager = componentManager.getCustomFieldManager()
UserUtil userUtil = ComponentAccessor.getUserUtil()
MutableIssue myIssue = event.getIssue()
Project project = myIssue.getProjectObject()
def projectleadName=project.getLeadUserName()
def projectlead =project.getLeadUserKey()
def assigned = myIssue.assigneeId
if ( assigned == projectleadName) {
CustomField cf_department= customFieldManager.getCustomFieldObject("customfield_17502")
def department= myIssue.getCustomFieldValue(cf_department)
//log.debug "RAUL: Dept.: ${department}"
if ( "${department}" == "Dept1" || "${department}" == "Dept2" || "${department}" == "Dept3" ) {
myIssue.setAssignee(userUtil.getUserByKey("raul.pelaez").getDirectoryUser())
//throw new RuntimeException("DEBUG: 1");
}
else {
myIssue.setAssignee(userUtil.getUserByKey("raul.martinez").getDirectoryUser())
//throw new RuntimeException("DEBUG: 4");
}
myIssue.store()
ManagerFactory.getIndexManager().reIndex(myIssue.getGenericValue());
//throw new RuntimeException("DEBUG: Dept.: ${department}");
}
}
}
Like this:
Like Loading...
Related