Skip to content

Commit

Permalink
fix(status-msg): Corrected status message
Browse files Browse the repository at this point in the history
see #JENKINS-41680)
  • Loading branch information
hypery2k committed Feb 3, 2017
1 parent caa0ff8 commit 724c625
Showing 1 changed file with 20 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -51,19 +51,19 @@ public void started(AbstractBuild build) {
if (causeAction != null) {
Cause scmCause = causeAction.findCause(SCMTrigger.SCMTriggerCause.class);
if (scmCause == null) {
MessageBuilder message = new MessageBuilder(notifier, build);
MessageBuilder message = new MessageBuilder(notifier, build, false);
message.append(causeAction.getShortDescription());
notifyStart(build, message.appendOpenLink().toString());
// Cause was found, exit early to prevent double-message
return;
}
}

String changes = getChanges(build, notifier.includeCustomMessage());
String changes = getChanges(build, notifier.includeCustomMessage(), false);
if (changes != null) {
notifyStart(build, changes);
} else {
notifyStart(build, getBuildStatusMessage(build, false, notifier.includeCustomMessage()));
notifyStart(build, getBuildStatusMessage(build, false, notifier.includeCustomMessage(), false));
}
}

Expand Down Expand Up @@ -102,7 +102,7 @@ public void completed(AbstractBuild r) {
|| (result == Result.SUCCESS && notifier.getNotifySuccess())
|| (result == Result.UNSTABLE && notifier.getNotifyUnstable())) {
getRocket(r).publish(getBuildStatusMessage(r, notifier.includeTestSummary(),
notifier.includeCustomMessage()));//, getBuildColor(r));
notifier.includeCustomMessage(), true));//, getBuildColor(r));
if (notifier.getCommitInfoChoice().showAnything()) {
getRocket(r).publish(getCommitList(r));//, getBuildColor(r));
}
Expand All @@ -112,7 +112,7 @@ public void completed(AbstractBuild r) {
}
}

String getChanges(AbstractBuild r, boolean includeCustomMessage) {
String getChanges(AbstractBuild r, boolean includeCustomMessage, boolean finished) {
if (!r.hasChangeSetComputed()) {
LOGGER.info("No change set computed...");
return null;
Expand All @@ -134,7 +134,7 @@ String getChanges(AbstractBuild r, boolean includeCustomMessage) {
for (Entry entry : entries) {
authors.add(entry.getAuthor().getDisplayName());
}
MessageBuilder message = new MessageBuilder(notifier, r);
MessageBuilder message = new MessageBuilder(notifier, r, finished);
message.append("Started by changes from ");
message.append(StringUtils.join(authors, ", "));
message.append(" (");
Expand Down Expand Up @@ -181,14 +181,14 @@ String getCommitList(AbstractBuild r) {
}
commits.add(commit.toString());
}
MessageBuilder message = new MessageBuilder(notifier, r);
MessageBuilder message = new MessageBuilder(notifier, r, true);
message.append("Changes:\n- ");
message.append(StringUtils.join(commits, "\n- "));
return message.toString();
}

String getBuildStatusMessage(AbstractBuild r, boolean includeTestSummary, boolean includeCustomMessage) {
MessageBuilder message = new MessageBuilder(notifier, r);
String getBuildStatusMessage(AbstractBuild r, boolean includeTestSummary, boolean includeCustomMessage, boolean finished) {
MessageBuilder message = new MessageBuilder(notifier, r, finished);
message.appendStatusMessage();
message.appendDuration();
message.appendOpenLink();
Expand All @@ -204,6 +204,7 @@ String getBuildStatusMessage(AbstractBuild r, boolean includeTestSummary, boolea
public static class MessageBuilder {

private static final String STARTING_STATUS_MESSAGE = "Starting...",
END_STATUS_MESSAGE = "Finished",
BACK_TO_NORMAL_STATUS_MESSAGE = "Back to normal",
STILL_FAILING_STATUS_MESSAGE = "Still Failing",
SUCCESS_STATUS_MESSAGE = "Success",
Expand All @@ -216,23 +217,29 @@ public static class MessageBuilder {
private StringBuffer message;
private RocketChatNotifier notifier;
private AbstractBuild build;
private boolean finished = false;

public MessageBuilder(RocketChatNotifier notifier, AbstractBuild build) {
public MessageBuilder(RocketChatNotifier notifier, AbstractBuild build, boolean finished) {
this.notifier = notifier;
this.message = new StringBuffer();
this.build = build;
this.finished = finished;
startMessage();
}

public MessageBuilder appendStatusMessage() {
message.append(this.escape(getStatusMessage(build)));
message.append(this.escape(getStatusMessage(build, this.finished)));
return this;
}

@SuppressWarnings("NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE")
static String getStatusMessage(AbstractBuild r) {
static String getStatusMessage(AbstractBuild r, boolean finished) {
if (r.isBuilding()) {
return STARTING_STATUS_MESSAGE;
if (finished) {
return END_STATUS_MESSAGE;
} else {
return STARTING_STATUS_MESSAGE;
}
}
Result result = r.getResult();
Result previousResult;
Expand Down

0 comments on commit 724c625

Please sign in to comment.