/src/main/groovy/com/onresolve/jira/groovy/listener/ScriptRunnerUberListener.groovy
Groovy | 77 lines | 56 code | 14 blank | 7 comment | 5 complexity | b68b743f3abbe914006e6c535d427763 MD5 | raw file
- package com.onresolve.jira.groovy.listener
-
- import com.atlassian.event.api.EventListener
- import com.atlassian.jira.event.JiraListener
- import com.atlassian.jira.event.issue.IssueEvent
- import com.onresolve.jira.groovy.GroovyRunner
- import com.onresolve.jira.groovy.ScriptManager
- import org.apache.log4j.Category
-
- /**
- * This is the listener class that calls the built-in scripts
- * As of 1.9 it also calls the old custom listeners that we really GroovyListener with some other class as a param
- */
- class ScriptRunnerUberListener implements JiraListener{
-
- Category log = Category.getInstance(ScriptRunnerUberListener.class)
- ScriptManager scriptManager
- GroovyRunner runner
-
- ScriptRunnerUberListener() {
- log.debug("ScriptRunnerUberListener ctor")
- }
-
- ScriptRunnerUberListener(ScriptManager scriptManager) {
- this.scriptManager = scriptManager
- this.runner = new GroovyRunner(scriptManager)
- }
-
-
- @EventListener
- void workflowEvent(IssueEvent event) {
- List configs = scriptManager.getListenerConfigs()
- log.debug("workflowEvent: " + event)
- if (event) {
- configs.each {Map config ->
- List events = config["events"] as List
- List projects = config["projects"] as List
- // log.debug(events*.class)
- // note: ported custom script have should have all events set
- if (events.contains(event.getEventTypeId() as String)) {
- if (projects.contains("") || projects.contains(event.getIssue().getProjectObject().getKey())) {
-
- // log.debug("Valid for this event and project")
- Map params = config["params"] as Map
- params.put("issue", event.getIssue())
- params.put("event", event)
- log.debug("Fire class: " + config["clazz"])
- runner.run(config["clazz"] as String, params)
- }
- }
- }
- }
- else {
- log.debug "Skipping null event... not sure why we get this."
- }
- }
-
- void init(Map map) {
-
- }
-
- String[] getAcceptedParams() {
- return new String[0]
- }
-
- boolean isInternal() {
- return false
- }
-
- boolean isUnique() {
- return false
- }
-
- String getDescription() {
- return "Stub listener, should not be installed as a listener"
- }
- }