From b7ccd0267202039d01ffccc63798d680a75796de Mon Sep 17 00:00:00 2001 From: ssj17vegeta Date: Wed, 7 Sep 2022 18:47:15 +0200 Subject: [PATCH] Support env vars to define filePattern of BinaryFileParameterFactory. --- .../BinaryFileParameterFactory.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/hudson/plugins/parameterizedtrigger/BinaryFileParameterFactory.java b/src/main/java/hudson/plugins/parameterizedtrigger/BinaryFileParameterFactory.java index 7a05a480..f685a7c5 100644 --- a/src/main/java/hudson/plugins/parameterizedtrigger/BinaryFileParameterFactory.java +++ b/src/main/java/hudson/plugins/parameterizedtrigger/BinaryFileParameterFactory.java @@ -1,5 +1,7 @@ package hudson.plugins.parameterizedtrigger; +import hudson.EnvVars; + import hudson.Extension; import hudson.FilePath; import hudson.model.AbstractBuild; @@ -55,18 +57,24 @@ public NoFilesFoundEnum getNoFilesFoundAction() { public List getParameters(AbstractBuild build, TaskListener listener) throws IOException, InterruptedException, AbstractBuildParameters.DontTriggerException { List result = new ArrayList<>(); FilePath workspace = build.getWorkspace(); + + EnvVars env = build.getEnvironment(listener); + if (workspace == null) { throw new IOException("Failed to get workspace"); } try { // save them into the master because FileParameterValue might need files after the agent workspace have disappeared/reused FilePath target = new FilePath(build.getRootDir()).child("parameter-files"); - int n = workspace.copyRecursiveTo(getFilePattern(), target); + + String fPattern = env.expand(getFilePattern()); + + int n = workspace.copyRecursiveTo(fPattern, target); if (n==0) { noFilesFoundAction.failCheck(listener); } else { - for(final FilePath f: target.list(getFilePattern())) { + for(final FilePath f: target.list(fPattern)) { LOGGER.fine("Triggering build with " + f.getName()); result.add(new AbstractBuildParameters() {