未验证 提交 498428ac 编写于 作者: O Oleg Nenashev 提交者: GitHub

Merge pull request #3112 from talkdirty/master

[JENKINS-47530] Add null check to RunParameterDefinition#getProject()…
......@@ -23,6 +23,10 @@
*/
package hudson.model;
import static java.util.logging.Level.WARNING;
import java.util.logging.Level;
import java.util.logging.Logger;
import jenkins.model.Jenkins;
import net.sf.json.JSONObject;
......@@ -164,20 +168,25 @@ public class RunParameterDefinition extends SimpleParameterDefinition {
}
Run<?,?> lastBuild = null;
Job project = getProject();
if (project == null) {
return null;
}
// use getFilter() so we dont have to worry about null filter value.
switch (getFilter()) {
case COMPLETED:
lastBuild = getProject().getLastCompletedBuild();
lastBuild = project.getLastCompletedBuild();
break;
case SUCCESSFUL:
lastBuild = getProject().getLastSuccessfulBuild();
lastBuild = project.getLastSuccessfulBuild();
break;
case STABLE :
lastBuild = getProject().getLastStableBuild();
lastBuild = project.getLastStableBuild();
break;
default:
lastBuild = getProject().getLastBuild();
lastBuild = project.getLastBuild();
break;
}
......@@ -199,4 +208,5 @@ public class RunParameterDefinition extends SimpleParameterDefinition {
return new RunParameterValue(getName(), value, getDescription());
}
private static final Logger LOGGER = Logger.getLogger(RunParameterDefinition.class.getName());
}
......@@ -2850,7 +2850,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
* or it exists but it's no an instance of the given type.
* @throws AccessDeniedException as per {@link ItemGroup#getItem}
*/
public @CheckForNull <T extends Item> T getItemByFullName(String fullName, Class<T> type) throws AccessDeniedException {
public @CheckForNull <T extends Item> T getItemByFullName(@Nonnull String fullName, Class<T> type) throws AccessDeniedException {
StringTokenizer tokens = new StringTokenizer(fullName,"/");
ItemGroup parent = this;
......
......@@ -26,6 +26,7 @@ package hudson.model;
import hudson.EnvVars;
import static org.junit.Assert.*;
import hudson.Launcher;
import hudson.model.RunParameterDefinition.RunParameterFilter;
import hudson.tasks.BuildStepMonitor;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册