Yes, you can develop groovy scirpt. Sample is below. This has to go on issue create and generic event to make it work under script listener of add-on
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.event.issue.AbstractIssueEventListener
import com.atlassian.jira.event.issue.IssueEvent
import com.atlassian.jira.issue.Issue
import org.apache.log4j.Logger
import com.atlassian.jira.ComponentManager
import static org.apache.log4j.Level.DEBUG
class TaskListener extends AbstractIssueEventListener {
Logger log = Logger.getLogger(TaskListener.class)
def groupManager = ComponentAccessor.getGroupManager()
def watcherManager = ComponentAccessor.getWatcherManager()
def userManager = ComponentAccessor.getUserManager()
@Override
void workflowEvent(IssueEvent event) {
Issue issue = event.getIssue();
log.setLevel(DEBUG)
log.debug "Event: ${event.getEventTypeId()} fired for ${issue} and caught by TaskVersionListener"
def priority = issue.getPriorityObject().getName()
log.debug priority
def issuestatus = issue.getStatusObject().getName().toUpperCase()
log.debug "status of issue" + issuestatus
def criticalUser = userManager.getUserObject("user1")
def seriousUser = userManager.getUserObject("user2")
switch (priority) {
case 'Critical':
if (!issuestatus.equals("xxx")){
watcherManager.startWatching(criticalUser, issue.genericValue)
watcherManager.stopWatching(seriousUser, issue.genericValue)
}
break
case 'Serious':
watcherManager.startWatching(seriousUser, issue.genericValue)
watcherManager.stopWatching(criticalUser, issue.genericValue)
case 'Important':
case 'Minor':
please let me know if mentioned code has helped you.
It looks like you're new here. Sign in or register to get started.