diff --git a/pom.xml b/pom.xml index fe98526..6abc83d 100644 --- a/pom.xml +++ b/pom.xml @@ -65,4 +65,11 @@ default + + + org.jenkins-ci.plugins + token-macro + 1.12.1 + + diff --git a/src/main/java/com/flowdock/jenkins/FlowdockNotifier.java b/src/main/java/com/flowdock/jenkins/FlowdockNotifier.java index 937cb1a..a69a816 100644 --- a/src/main/java/com/flowdock/jenkins/FlowdockNotifier.java +++ b/src/main/java/com/flowdock/jenkins/FlowdockNotifier.java @@ -17,6 +17,8 @@ import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.StaplerRequest; +import org.jenkinsci.plugins.tokenmacro.MacroEvaluationException; +import org.jenkinsci.plugins.tokenmacro.TokenMacro; import java.io.IOException; import java.io.PrintStream; @@ -122,7 +124,8 @@ public boolean shouldNotify(BuildResult buildResult) { protected void notifyFlowdock(AbstractBuild build, BuildResult buildResult, BuildListener listener) { PrintStream logger = listener.getLogger(); try { - FlowdockAPI api = new FlowdockAPI(getDescriptor().apiUrl(), flowToken); + String parsedFlowToken = TokenMacro.expandAll(build, listener, flowToken); + FlowdockAPI api = new FlowdockAPI(getDescriptor().apiUrl(), parsedFlowToken); TeamInboxMessage msg = TeamInboxMessage.fromBuild(build, buildResult, listener); EnvVars vars = build.getEnvironment(listener); msg.setTags(vars.expand(notificationTags)); @@ -152,6 +155,10 @@ protected void notifyFlowdock(AbstractBuild build, BuildResult buildResult, Buil logger.println("Flowdock: " + ex.getMessage()); } + catch(MacroEvaluationException ex) { + logger.println("Error evaluating token: " + ex.getMessage()); + } + }