From a294e57b2914cff77e4bce8b70aa8161e00e40ba Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Wed, 29 Oct 2014 19:37:52 -0400 Subject: [PATCH] Store triggered build environment variables Save TRIGGERED_BUILD_NUMBER and, if blocking, TRIGGERED_BUILD_RESULT to the build environment. Prior to this change, it was necessary to parse the log file, which was very hacky and only possible on the master. This can be used by later build steps and downstream jobs. --- .../ParameterizedRemoteTrigger/RemoteBuildConfiguration.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/jenkinsci/plugins/ParameterizedRemoteTrigger/RemoteBuildConfiguration.java b/src/main/java/org/jenkinsci/plugins/ParameterizedRemoteTrigger/RemoteBuildConfiguration.java index fd4b9e24..413e1fc6 100644 --- a/src/main/java/org/jenkinsci/plugins/ParameterizedRemoteTrigger/RemoteBuildConfiguration.java +++ b/src/main/java/org/jenkinsci/plugins/ParameterizedRemoteTrigger/RemoteBuildConfiguration.java @@ -535,6 +535,7 @@ public boolean perform(AbstractBuild build, Launcher launcher, BuildListener lis JSONObject queryResponseObject = sendHTTPCall(triggerUrlString, "POST", build, listener); int nextBuildNumber = queryResponseObject.getInt("nextBuildNumber"); listener.getLogger().println("This job is build #[" + Integer.toString(nextBuildNumber) + "] on the remote server."); + build.getEnvironment(listener).put("TRIGGERED_BUILD_NUMBER", Integer.toString(nextBuildNumber)); //Have to form the string ourselves, as we might not get a response from non-parameterized builds String jobURL = remoteServerURL + "/job/" + this.encodeValue(job) + "/"; @@ -594,6 +595,7 @@ public boolean perform(AbstractBuild build, Launcher launcher, BuildListener lis } } listener.getLogger().println("Remote build finished with status " + buildStatusStr + "."); + build.getEnvironment(listener).put("TRIGGERED_BUILD_RESULT", Integer.toString(nextBuildNumber)); // If build did not finish with 'success' then fail build step. if (!buildStatusStr.equals("SUCCESS")) {