From 473dcf88b0b7ff6e35a2596366e9c4eb3856ddd4 Mon Sep 17 00:00:00 2001 From: Bohdan Bokhonko Date: Thu, 26 Jan 2023 17:26:02 +0200 Subject: [PATCH] US #2048033: Extend polling to send/receive custom properties --- .../OutputEnvironmentParametersHelper.java | 22 +++++++++++-------- .../projects/AbstractProjectProcessor.java | 3 +++ 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/microfocus/application/automation/tools/octane/events/OutputEnvironmentParametersHelper.java b/src/main/java/com/microfocus/application/automation/tools/octane/events/OutputEnvironmentParametersHelper.java index d68937ab57..e7890ed662 100644 --- a/src/main/java/com/microfocus/application/automation/tools/octane/events/OutputEnvironmentParametersHelper.java +++ b/src/main/java/com/microfocus/application/automation/tools/octane/events/OutputEnvironmentParametersHelper.java @@ -7,6 +7,7 @@ import hudson.model.AbstractBuild; import hudson.model.BuildableItemWithBuildWrappers; import hudson.model.Job; +import hudson.model.Run; import java.io.IOException; import java.util.*; @@ -17,23 +18,26 @@ public class OutputEnvironmentParametersHelper { public static final String SPLIT_SYMBOL = " "; - public static Map getOutputEnvironmentParams(AbstractBuild build) { - EnvVars environment = getEnvironment(build); + public static Map getOutputEnvironmentParams(Run run) { + EnvVars environment = getEnvironment(run); if (environment == null) { return Collections.emptyMap(); } else { List paramKeysList = new ArrayList<>(); paramKeysList.addAll(getGlobalParamsList()); - paramKeysList.addAll(getJobParamsList(build)); + paramKeysList.addAll(getJobParamsList(run)); if (paramKeysList.isEmpty()) return Collections.emptyMap(); Map outputEnvParams = new HashMap<>(); - Set sensitiveBuildVariables = build.getSensitiveBuildVariables(); + Set sensitiveBuildVariables =null; + if (run instanceof AbstractBuild) { + sensitiveBuildVariables = ((AbstractBuild) run).getSensitiveBuildVariables(); + } String value; for (String key : paramKeysList) { - if (sensitiveBuildVariables.contains(key)) continue; + if (sensitiveBuildVariables != null && sensitiveBuildVariables.contains(key)) continue; value = environment.get(key); if (value != null) { outputEnvParams.put(key, value); @@ -43,10 +47,10 @@ public static Map getOutputEnvironmentParams(AbstractBuild build } } - private static EnvVars getEnvironment(AbstractBuild build) { + private static EnvVars getEnvironment(Run run) { EnvVars environment = null; try { - environment = build.getEnvironment(null); + environment = run.getEnvironment(null); } catch (IOException | InterruptedException ignored) { } return environment; @@ -61,8 +65,8 @@ private static List getGlobalParamsList() { } } - private static List getJobParamsList(AbstractBuild build) { - Job job = build.getParent(); + private static List getJobParamsList(Run run) { + Job job = run.getParent(); if (job instanceof BuildableItemWithBuildWrappers) { String paramsStr = ((BuildableItemWithBuildWrappers) job).getBuildWrappersList(). get(OctaneBuildWrapper.class).getOutputEnvironmentParameters(); diff --git a/src/main/java/com/microfocus/application/automation/tools/octane/model/processors/projects/AbstractProjectProcessor.java b/src/main/java/com/microfocus/application/automation/tools/octane/model/processors/projects/AbstractProjectProcessor.java index 8eb85f9170..51f4e7218a 100644 --- a/src/main/java/com/microfocus/application/automation/tools/octane/model/processors/projects/AbstractProjectProcessor.java +++ b/src/main/java/com/microfocus/application/automation/tools/octane/model/processors/projects/AbstractProjectProcessor.java @@ -52,6 +52,8 @@ import java.util.List; import java.util.Set; +import static com.microfocus.application.automation.tools.octane.events.OutputEnvironmentParametersHelper.getOutputEnvironmentParams; + /** * Created with IntelliJ IDEA. * User: gullery @@ -209,6 +211,7 @@ public CIBuildStatusInfo getBuildStatus(String paramName, String paramValue) { } else { status.setBuildStatus(CIBuildStatus.FINISHED); status.setResult(BuildHandlerUtils.translateRunResult(aBuild)); + status.setEnvironmentOutputtedParameters(getOutputEnvironmentParams(aBuild)); } status.setAllBuildParams(ParameterProcessors.getInstances(aBuild)); status.setBuildCiId(BuildHandlerUtils.getBuildCiId(aBuild));