jenkinsci/jenkins · error · IllegalArgumentException
Build #{number} does not exist
Error message
Build #{number} does not exist What it means
IllegalArgumentException from set-build-display-name when job.getBuildByNumber(number) returns null. Same guard as set-build-description with a differently worded message.
Source
Thrown at core/src/main/java/hudson/cli/SetBuildDisplayNameCommand.java:34
public String getShortDescription() {
return Messages.SetBuildDisplayNameCommand_ShortDescription();
}
@Argument(metaVar = "JOB", usage = "Name of the job to build", required = true, index = 0)
public transient Job<?, ?> job;
@Argument(metaVar = "BUILD#", usage = "Number of the build", required = true, index = 1)
public int number;
@Argument(metaVar = "DISPLAYNAME", required = true, usage = "DisplayName to be set. '-' to read from stdin.", index = 2)
@SuppressFBWarnings(value = "PA_PUBLIC_PRIMITIVE_ATTRIBUTE", justification = "Preserve API compatibility")
public String displayName;
@Override
protected int run() throws Exception {
Run<?, ?> run = job.getBuildByNumber(number);
if (run == null) {
throw new IllegalArgumentException("Build #" + number + " does not exist");
}
run.checkPermission(Run.UPDATE);
if ("-".equals(displayName)) {
displayName = IOUtils.toString(stdin);
}
run.setDisplayName(displayName);
return 0;
}
}
View on GitHub (pinned to 2e228ff40b)
Solutions
- Verify the build number against the job's build history.
- Use the last build number.
- Point at the correct job.
Defensive patterns
Strategy: validation
Validate before calling
if (job.getBuildByNumber(number) == null) {
throw new IllegalArgumentException("Build #" + number + " does not exist");
} Try / catch
catch (IllegalArgumentException e) { /* build number invalid */ } Prevention
- Validate the build number against the job's history first.
- Beware deleted builds from log rotation.
When it happens
Trigger: `set-build-displayname <job> <number> <name>` where build #<number> does not exist for the job.
Common situations: Build deleted; number too high; wrong job; keep-log rotation removed the build.
Related errors
- No such build #{number}
- {} is not parameterized but the -p option was specified.
- '%s' is not a valid parameter.
- '%s' is not a valid parameter. Did you mean %s?
- Cannot resolve the value for the parameter '%s'.
AI-assisted analysis of jenkinsci/jenkins@2e228ff40b (2026-08-14).
Data as JSON: /api/errors/5f53c7de42cfbc3a.
Report an issue: GitHub.