Skip to content

Commit

Permalink
[FIXED JENKINS-9126] added 'set-build-displayname' CLI command.
Browse files Browse the repository at this point in the history
  • Loading branch information
kohsuke committed Aug 10, 2011
1 parent 259477a commit 297aff0
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
3 changes: 3 additions & 0 deletions changelog.html
Expand Up @@ -77,6 +77,9 @@
(<a href="https://issues.jenkins-ci.org/browse/JENKINS-10414">issue 10414</a>)
<li class=rfe>
Added a dignosis CLI command to report the current granted authorities.
<li class=rfe>
Added a CLI command to set display name of the build
(<a href="https://issues.jenkins-ci.org/browse/JENKINS-9126">issue 9126</a>)
<li class=rfe>
Added an option in CLI build command to check for SCM changes before carrying out a build
(<a href="https://issues.jenkins-ci.org/browse/JENKINS-9968">issue 9968</a>)
Expand Down
47 changes: 47 additions & 0 deletions core/src/main/java/hudson/cli/SetBuildDisplayNameCommand.java
@@ -0,0 +1,47 @@
package hudson.cli;

import hudson.Extension;
import hudson.model.AbstractProject;
import hudson.model.Run;
import hudson.remoting.Callable;
import org.apache.commons.io.IOUtils;
import org.kohsuke.args4j.Argument;

import java.io.IOException;
import java.io.Serializable;

@Extension
public class SetBuildDisplayNameCommand extends CLICommand implements Serializable {

@Override
public String getShortDescription() {
return "Sets the displayName of a build";
}

@Argument(metaVar="JOB", usage="Name of the job to build", required=true, index=0)
public transient AbstractProject<?, ?> 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)
public String displayName;

protected int run() throws Exception {
Run run = job.getBuildByNumber(number);
run.checkPermission(Run.UPDATE);

if ("-".equals(displayName)) {
displayName = channel.call(new Callable<String, IOException>() {
public String call() throws IOException {
return IOUtils.toString(System.in);
}
});
}

run.setDisplayName(displayName);

return 0;
}

}

0 comments on commit 297aff0

Please sign in to comment.