summaryrefslogtreecommitdiff
path: root/src/main/java/org/jenkinsci/plugins/activemq/ActiveMqPlugin.java
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2014-05-06 22:30:40 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2014-05-06 22:30:40 +0200
commit7cf971cfe478fc4a170ea17274f44b24eae97e2b (patch)
treea9155d9d732462e2122bbe4d11323a07f442439f /src/main/java/org/jenkinsci/plugins/activemq/ActiveMqPlugin.java
parent7e2d2c074c3f09266dda31c772f4bec61e8d5742 (diff)
downloadactivemq-plugin-7cf971cfe478fc4a170ea17274f44b24eae97e2b.tar.gz
activemq-plugin-7cf971cfe478fc4a170ea17274f44b24eae97e2b.tar.bz2
activemq-plugin-7cf971cfe478fc4a170ea17274f44b24eae97e2b.tar.xz
activemq-plugin-7cf971cfe478fc4a170ea17274f44b24eae97e2b.zip
o Support for triggering builds from MQ messages with an MVEL expression.
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";
+ }
}
}