public ParameterValue getParameter(String name) { for (ParameterValue p : parameters) { if (p == null) continue; if (p.getName().equals(name)) return p; } return null; }
/** * Creates a new {@link ParametersAction} that contains all the parameters in this action * with the overrides / new values given as parameters. * @return New {@link ParametersAction}. The result may contain null {@link ParameterValue}s */ @Nonnull public ParametersAction createUpdated(Collection<? extends ParameterValue> overrides) { if(overrides == null) { ParametersAction parametersAction = new ParametersAction(parameters); parametersAction.safeParameters = this.safeParameters; return parametersAction; } List<ParameterValue> combinedParameters = Lists.<ParameterValue>newArrayList(overrides); Set<String> names = newHashSet(); for(ParameterValue v : overrides) { if (v == null) continue; names.add(v.getName()); } for (ParameterValue v : parameters) { if (v == null) continue; if (!names.contains(v.getName())) { combinedParameters.add(v); } } return new ParametersAction(combinedParameters, this.safeParameters); }
private List<? extends ParameterValue> filter(List<ParameterValue> parameters) { if (this.run == null) { return parameters; } if (this.parameterDefinitionNames == null) { return parameters; } Boolean shouldKeepFlag = SystemProperties.optBoolean(KEEP_UNDEFINED_PARAMETERS_SYSTEM_PROPERTY_NAME); if (shouldKeepFlag != null && shouldKeepFlag.booleanValue()) { return parameters; } List<ParameterValue> filteredParameters = new ArrayList<ParameterValue>(); for (ParameterValue v : this.parameters) { if (this.parameterDefinitionNames.contains(v.getName()) || isSafeParameter(v.getName())) { filteredParameters.add(v); } else if (shouldKeepFlag == null) { LOGGER.log(Level.WARNING, "Skipped parameter `{0}` as it is undefined on `{1}`. Set `-D{2}=true` to allow " + "undefined parameters to be injected as environment variables or `-D{3}=[comma-separated list]` to whitelist specific parameter names, " + "even though it represents a security breach or `-D{2}=false` to no longer show this message.", new Object [] { v.getName(), run.getParent().getFullName(), KEEP_UNDEFINED_PARAMETERS_SYSTEM_PROPERTY_NAME, SAFE_PARAMETERS_SYSTEM_PROPERTY_NAME }); } } return filteredParameters; }
/** * Builds up a set of variable names that contain sensitive values that * should not be exposed. The expectation is that this set is populated with * keys returned by {@link #getBuildVariables()} that should have their * values masked for display purposes. * * @since 1.378 */ public Set<String> getSensitiveBuildVariables() { Set<String> s = new HashSet<String>(); ParametersAction parameters = getAction(ParametersAction.class); if (parameters != null) { for (ParameterValue p : parameters) { if (p.isSensitive()) { s.add(p.getName()); } } } // Allow BuildWrappers to determine if any of their data is sensitive if (project instanceof BuildableItemWithBuildWrappers) { for (BuildWrapper bw : ((BuildableItemWithBuildWrappers) project).getBuildWrappersList()) { bw.makeSensitiveBuildVariables(this, s); } } return s; }
@Override public String apply(ParameterValue input) { return input.getName(); } });
@Override public ParameterValue getParameter(String name) { for (ParameterValue p : parameters) { if (p != null && p.getName().equals(name)) { return p; } } return null; }
@Override public ParameterValue getParameter(String name) { for (ParameterValue parameter : parameters) { if (parameter != null && parameter.getName().equals(name)) { return parameter; } } return null; }
public ParameterValue getParameter(String name) { for (ParameterValue p : parameters) { if (p == null) continue; if (p.getName().equals(name)) return p; } return null; }
public ParameterValue getParameter(String name) { for (ParameterValue p : parameters) if (p.getName().equals(name)) return p; return null; }
public ParameterValue getParameter(String name) { for (ParameterValue p : parameters) if (p.getName().equals(name)) return p; return null; }
public ParameterValue getParameter(String name) { for (ParameterValue p : parameters) if (p.getName().equals(name)) return p; return null; }
public ParameterValue getParameter(String name) { for (ParameterValue p : parameters) { if (p.getName().equals(name)) { return p; } } return null; }
public static ParametersAction mergeParameters(ParametersAction base, ParametersAction overlay) { LinkedHashMap<String,ParameterValue> params = new LinkedHashMap<String,ParameterValue>(); for (ParameterValue param : base.getParameters()) params.put(param.getName(), param); for (ParameterValue param : overlay.getParameters()) params.put(param.getName(), param); return new ParametersAction(params.values().toArray(new ParameterValue[params.size()])); }
private static ParametersAction mergeParameters(ParametersAction base, ParametersAction overlay) { LinkedHashMap<String,ParameterValue> params = new LinkedHashMap<String,ParameterValue>(); for (ParameterValue param : base.getParameters()) params.put(param.getName(), param); for (ParameterValue param : overlay.getParameters()) params.put(param.getName(), param); return new ParametersAction(params.values().toArray(new ParameterValue[params.size()])); }
@Override public void buildEnvironmentFor(@Nonnull Run r, @Nonnull EnvVars envs, @Nonnull TaskListener listener) throws IOException, InterruptedException { if (r instanceof MatrixRun) { MatrixChildParametersAction childParameters = r.getAction(MatrixChildParametersAction.class); if (childParameters != null) { for(ParameterValue p : childParameters.getParameters()) { putEnvVar(envs, p.getName(), String.valueOf(p.getValue())); } } } }
@Override @SuppressWarnings("rawtypes") public void buildEnvironmentFor(@Nonnull Run run, @Nonnull EnvVars envs, @Nonnull TaskListener listener) throws IOException, InterruptedException { GhprbParametersAction gpa = run.getAction(GhprbParametersAction.class); if (gpa != null) { for (ParameterValue p : gpa.getParameters()) { envs.put(p.getName(), String.valueOf(p.getValue())); } } super.buildEnvironmentFor(run, envs, listener); } }
@Override public void buildEnvironmentFor(final Run r, final EnvVars envs, final TaskListener listener) throws IOException, InterruptedException { SafeParametersAction action = r.getAction(SafeParametersAction.class); if (action != null) { for (ParameterValue p : action.getParameters()) { envs.putIfNotNull(p.getName(), String.valueOf(p.getValue())); } } } }
private String getSourceBuildNumber(DynamicBuild dynamicBuild) { if (dynamicBuild.getCause() instanceof DotCiUpstreamTriggerCause) { List<ParameterValue> params = dynamicBuild.getAction(ParametersAction.class).getParameters(); for (ParameterValue param : params) { if (param.getName().equals("SOURCE_BUILD")) { return (String) param.getValue(); } } } return "" + dynamicBuild.getNumber(); }
private Binding getConfiguredBinding(final MatrixBuildExecution execution) { final Binding binding = new Binding(); final ParametersAction parameters = execution.getBuild().getAction(ParametersAction.class); if (parameters == null) return binding; for (final ParameterValue pv: parameters) { if (pv == null) continue; final String name = pv.getName(); final String value = pv.createVariableResolver(execution.getBuild()).resolve(name); binding.setVariable(name, value); } return binding; }