From a676f72e8679776a6dc367a6c0b5eb074c3c99af Mon Sep 17 00:00:00 2001 From: lvotypko Date: Fri, 3 Aug 2012 14:15:39 +0200 Subject: [PATCH] Fix NPE for non-parametrized job and wrong url of repository. --- pom.xml | 4 ++-- .../scriptler/builder/ScriptlerBuilder.java | 16 +++++++++++----- .../plugins/scriptler/Messages.properties | 3 ++- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index cebd146..70053c9 100644 --- a/pom.xml +++ b/pom.xml @@ -24,13 +24,13 @@ repo.jenkins-ci.org - http://maven.jenkins-ci.org/content/groups/artifacts/ + http://maven.jenkins-ci.org:8081/content/repositories/releases/ repo.jenkins-ci.org - http://maven.jenkins-ci.org/content/groups/artifacts/ + http://maven.jenkins-ci.org:8081/content/repositories/releases/ diff --git a/src/main/java/org/jenkinsci/plugins/scriptler/builder/ScriptlerBuilder.java b/src/main/java/org/jenkinsci/plugins/scriptler/builder/ScriptlerBuilder.java index 884a551..4922716 100644 --- a/src/main/java/org/jenkinsci/plugins/scriptler/builder/ScriptlerBuilder.java +++ b/src/main/java/org/jenkinsci/plugins/scriptler/builder/ScriptlerBuilder.java @@ -92,12 +92,17 @@ public boolean perform(AbstractBuild build, Launcher launcher, BuildListen // expand the parameters before passing these to the execution, this is to allow any token macro to resolve parameter values List expandedParams = new LinkedList(); - final ParametersAction paramsAction = build.getAction(ParametersAction.class); - final List jobParams = paramsAction.getParameters(); if (propagateParams) { - for (ParameterValue parameterValue : jobParams) { - // pass the params to the token expander in a way that these get expanded by environment variables (params are also environment variables) - expandedParams.add(new Parameter(parameterValue.getName(), TokenMacro.expandAll(build, listener, "${" + parameterValue.getName() + "}"))); + final ParametersAction paramsAction = build.getAction(ParametersAction.class); + if(paramsAction==null){ + listener.getLogger().println(Messages.no_parameters_defined()); + } + else{ + final List jobParams = paramsAction.getParameters(); + for (ParameterValue parameterValue : jobParams) { + // pass the params to the token expander in a way that these get expanded by environment variables (params are also environment variables) + expandedParams.add(new Parameter(parameterValue.getName(), TokenMacro.expandAll(build, listener, "${" + parameterValue.getName() + "}"))); + } } } for (Parameter parameter : parameters) { @@ -111,6 +116,7 @@ public boolean perform(AbstractBuild build, Launcher launcher, BuildListen } } catch (Exception e) { listener.getLogger().print(Messages.scriptExecutionFailed(scriptId) + " - " + e.getMessage()); + e.printStackTrace(listener.getLogger()); } } else { if (StringUtils.isBlank(scriptId)) { diff --git a/src/main/resources/org/jenkinsci/plugins/scriptler/Messages.properties b/src/main/resources/org/jenkinsci/plugins/scriptler/Messages.properties index 09190cc..b3a204f 100644 --- a/src/main/resources/org/jenkinsci/plugins/scriptler/Messages.properties +++ b/src/main/resources/org/jenkinsci/plugins/scriptler/Messages.properties @@ -36,4 +36,5 @@ scriptExecutionFailed = Execution of script [{0}] failed parameterExtractionFailed = failed to read parameters from request scriptSourceNotFound = not able to load sources for script [{0}] skipParamter = skipping parameter [{0}] this name is used internal, please rename!" -resultPrefix = Result: \ No newline at end of file +resultPrefix = Result: +no_parameters_defined = There is not any parameter defined for this job. \ No newline at end of file