package hudson.plugins.im.bot;
import hudson.model.AbstractProject;
import hudson.model.Run;
import hudson.plugins.im.Sender;
import hudson.plugins.im.tools.MessageHelper;
import java.io.IOException;
public class CommentCommand extends AbstractSingleJobCommand {
public CommentCommand() {
super(2);
}
@Override
protected CharSequence getMessageForJob(AbstractProject<?, ?> job, Sender sender,
String[] args) throws CommandException {
try {
int buildNumber = Integer.parseInt(args[0]);
Run<?, ?> build = job.getBuildByNumber(buildNumber);
if (build == null) {
throw new CommandException("sender: there is no build with number " + args[0] + "!");
}
build.setDescription(MessageHelper.join(args, 1));
return "Ok";
} catch (NumberFormatException e) {
throw new CommandException("sender: " + args[0] + " is no valid build number!");
} catch (IOException e) {
throw new CommandException("Error setting comment: ", e);
}
}
@Override
public String getHelp() {
return " <job> <build-#> <comment> - adds a description to a build";
}
}