summaryrefslogtreecommitdiff
path: root/src/main/java/org/jenkinsci/plugins/activemq/ActiveMqPlugin.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/jenkinsci/plugins/activemq/ActiveMqPlugin.java')
-rw-r--r--src/main/java/org/jenkinsci/plugins/activemq/ActiveMqPlugin.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/main/java/org/jenkinsci/plugins/activemq/ActiveMqPlugin.java b/src/main/java/org/jenkinsci/plugins/activemq/ActiveMqPlugin.java
index c9c277c..cc73898 100644
--- a/src/main/java/org/jenkinsci/plugins/activemq/ActiveMqPlugin.java
+++ b/src/main/java/org/jenkinsci/plugins/activemq/ActiveMqPlugin.java
@@ -2,9 +2,12 @@ package org.jenkinsci.plugins.activemq;
import hudson.Extension;
import hudson.Plugin;
+import hudson.model.AbstractProject;
import hudson.model.Build;
+import hudson.model.Cause;
import hudson.model.TaskListener;
import jenkins.model.GlobalConfiguration;
+import jenkins.model.Jenkins;
import org.slf4j.Logger;
import javax.annotation.Nonnull;
@@ -88,5 +91,29 @@ public class ActiveMqPlugin extends Plugin implements ActiveMqClient.BuildReques
public void onBuildRequest(ActiveMqClient.BuildRequest req) {
log.info("ActiveMqPlugin.onBuildRequest");
log.info(req.parameters.toString());
+
+ for (AbstractProject project : Jenkins.getInstance().getAllItems(AbstractProject.class)) {
+ log.info("Checking project " + project.getDisplayName());
+ ActiveMqBuildTrigger trigger = (ActiveMqBuildTrigger) project.getTrigger(ActiveMqBuildTrigger.class);
+
+ if (trigger == null) {
+ log.debug("No trigger configured");
+ continue;
+ }
+
+ if (trigger.matches(req)) {
+ log.debug("MVEL matched!");
+ project.scheduleBuild(new ActiveMqCause());
+ } else {
+ log.debug("MVEL did not match");
+ }
+ }
+ }
+
+ public static class ActiveMqCause extends Cause {
+ @Override
+ public String getShortDescription() {
+ return "ActiveMQ cause";
+ }
}
}