Set<String> sensitiveVars = build.getSensitiveBuildVariables();
private Map<String, String> getPropertiesVariables(AbstractBuild build) { Map<String, String> buildVariables = build.getBuildVariables(); final Set<String> sensitiveBuildVariables = build.getSensitiveBuildVariables(); if (sensitiveBuildVariables == null || sensitiveBuildVariables.size() == 0) { return buildVariables; } for (String sensitiveBuildVariable : sensitiveBuildVariables) { buildVariables.remove(sensitiveBuildVariable); } return buildVariables; }
private Map<String, String> getPropertiesVariables(AbstractBuild build) { Map<String, String> buildVariables = build.getBuildVariables(); final Set<String> sensitiveBuildVariables = build.getSensitiveBuildVariables(); if (sensitiveBuildVariables == null || sensitiveBuildVariables.isEmpty()) { return buildVariables; } for (String sensitiveBuildVariable : sensitiveBuildVariables) { buildVariables.remove(sensitiveBuildVariable); } return buildVariables; }
/** * Retrieve build parameters in String format without sensitive parameters (passwords, ...) * * @param build the build we retrieve the parameters from * @return a map of parameters names and values */ public static Map<String, String> getUnsensitiveParameters(final AbstractBuild<?, ?> build) { final Map<String, String> retval = new HashMap<String, String>(); if (build != null) { retval.putAll(build.getBuildVariables()); final Set<String> sensitiveBuildVariables = build.getSensitiveBuildVariables(); if (sensitiveBuildVariables != null) { for (String paramName : sensitiveBuildVariables) { if (retval.containsKey(paramName)) { // We have the choice to hide the parameter or to replace it with special characters retval.put(paramName, "********"); //retval.remove(paramName); } } } } return retval; }
/** * Compatible version of {@link AbstractBuild#getSensitiveBuildVariables()} * @param run Run * @return List of sensitive variables */ public static Set<String> getSensitiveBuildVariables(@Nonnull Run<?,? > run) { if (run instanceof AbstractBuild) { return ((AbstractBuild)run).getSensitiveBuildVariables(); } Set<String> s = new HashSet<String>(); ParametersAction parameters = run.getAction(ParametersAction.class); if (parameters != null) { for (ParameterValue p : parameters) { if (p.isSensitive()) { s.add(p.getName()); } } } return s; }
private String startBuildContainer(BuiltInContainer runInContainer, AbstractBuild build, BuildListener listener) throws IOException { try { EnvVars environment = buildContainerEnvironment(build, listener); String workdir = build.getWorkspace().getRemote(); Map<String, String> links = new HashMap<String, String>(); String[] command = this.command.length() > 0 ? this.command.split(" ") : new String[0]; return runInContainer.getDocker().runDetached(runInContainer.image, workdir, runInContainer.getVolumes(build), runInContainer.getPortsMap(), links, environment, build.getSensitiveBuildVariables(), net, memory, cpu, command); // Command expected to hung until killed } catch (InterruptedException e) { throw new RuntimeException("Interrupted"); } }
@Override public Object getTarget() { final Set sensitiveVariables = build.getSensitiveBuildVariables(); if (!EnvInjectPlugin.canViewInjectedVars(build)) { return EnvInjectVarList.HIDDEN; } return new EnvInjectVarList(Maps.transformEntries(envMap, new Maps.EntryTransformer<String, String, String>() { public String transformEntry(String key, String value) { return sensitiveVariables.contains(key) ? EnvInjectPlugin.DEFAULT_MASK : value; } })); }
private boolean executePostBuildScript(AbstractBuild<?, ?> build, BuildListener listener) throws IOException, InterruptedException { PrintStream logger = listener.getLogger(); CredentialsSSHSite site = getSite(); if (site == null) { listener.getLogger().println("[SSH] No SSH site found - this is likely a configuration problem!"); build.setResult(Result.UNSTABLE); return true; } Map<String, String> vars = new HashMap<String, String>(); vars.putAll(build.getEnvironment(listener)); vars.putAll(build.getBuildVariables()); String runtime_cmd = VariableReplacerUtil.preludeWithEnvVars(postScript, vars); if (hideCommand) { log(logger, "executing post build script"); } else { log(logger, "executing post build script:\n" + VariableReplacerUtil.scrub(runtime_cmd, vars, build.getSensitiveBuildVariables())); } if (runtime_cmd != null && !runtime_cmd.trim().equals("")) { return site.executeCommand(logger, runtime_cmd) == 0; } return true; }
private boolean executePreBuildScript(AbstractBuild<?, ?> build, BuildListener listener) throws IOException, InterruptedException { PrintStream logger = listener.getLogger(); CredentialsSSHSite site = getSite(); if (site == null) { listener.getLogger().println("[SSH] No SSH site found - this is likely a configuration problem!"); build.setResult(Result.UNSTABLE); return true; } Map<String, String> vars = new HashMap<String, String>(); vars.putAll(build.getEnvironment(listener)); vars.putAll(build.getBuildVariables()); String runtime_cmd = VariableReplacerUtil.preludeWithEnvVars(preScript, vars); if (hideCommand) { log(logger, "executing pre build script"); } else { log(logger, "executing pre build script:\n" + VariableReplacerUtil.scrub(runtime_cmd, vars, build.getSensitiveBuildVariables())); } if (runtime_cmd != null && !runtime_cmd.trim().equals("")) { return site.executeCommand(logger, runtime_cmd) == 0; } return true; }
@Override public boolean perform(AbstractBuild<?, ?> build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { CredentialsSSHSite site = getSite(); if (site == null) { listener.getLogger().println("[SSH] No SSH site found - this is likely a configuration problem!"); build.setResult(Result.UNSTABLE); return true; } // Get the build variables and make sure we substitute the current SSH Server host name site.setResolvedHostname(build.getEnvironment(listener).expand(site.getHostname())); Map<String, String> vars = new HashMap<String, String>(); vars.putAll(build.getEnvironment(listener)); vars.putAll(build.getBuildVariables()); String runtime_cmd = VariableReplacerUtil.preludeWithEnvVars(command, vars); String scrubbed_cmd = VariableReplacerUtil.scrub(runtime_cmd, vars, build.getSensitiveBuildVariables()); if (runtime_cmd != null && runtime_cmd.trim().length() > 0) { if (!hideCommand) { if (execEachLine) { listener.getLogger().printf("[SSH] commands:%n%s%n", scrubbed_cmd); } else { listener.getLogger().printf("[SSH] script:%n%s%n", scrubbed_cmd); } } listener.getLogger().printf("%n[SSH] executing...%n"); return site.executeCommand(listener.getLogger(), runtime_cmd, execEachLine) == 0; } return true; }
Set<String> sensitiveVars = build.getSensitiveBuildVariables();
Set<String> sensitiveVars = build.getSensitiveBuildVariables();
Set<String> sensitiveVars = build.getSensitiveBuildVariables();
Set<String> sensitiveVars = build.getSensitiveBuildVariables();
Set<String> sensitiveVars = build.getSensitiveBuildVariables();
args.add("-f",pom); Set<String> sensitiveVars = build.getSensitiveBuildVariables();
Set<String> sensitiveVars = build.getSensitiveBuildVariables();
args.add("-f",pom); Set<String> sensitiveVars = build.getSensitiveBuildVariables();
args.add("-f",pom); Set<String> sensitiveVars = build.getSensitiveBuildVariables();
Set<String> sensitiveVars = build.getSensitiveBuildVariables(); args.addKeyValuePairsFromPropertyString("-D", getSystemProperties(), resolver, sensitiveVars); if (isPassAllAsSystemProperties()) {