diff --git a/dist/jenkins-flowdock-plugin.hpi b/dist/jenkins-flowdock-plugin.hpi new file mode 100644 index 0000000..0239b5a Binary files /dev/null and b/dist/jenkins-flowdock-plugin.hpi differ diff --git a/src/main/java/com/flowdock/jenkins/ChatMessage.java b/src/main/java/com/flowdock/jenkins/ChatMessage.java index 5ea77d7..180f825 100644 --- a/src/main/java/com/flowdock/jenkins/ChatMessage.java +++ b/src/main/java/com/flowdock/jenkins/ChatMessage.java @@ -40,6 +40,10 @@ public static ChatMessage fromBuild(AbstractBuild build, BuildResult buildResult String buildNo = build.getDisplayName().replaceAll("#", ""); content.append(projectName + configuration).append(" build ").append(buildNo); content.append(" ").append(buildResult.getHumanResult()); + if (build.getResult() == build.getPreviousBuild().getResult()) { + content.append(" still"); + } + content.append("."); String rootUrl = Hudson.getInstance().getRootUrl(); String buildLink = (rootUrl == null) ? null : rootUrl + build.getUrl(); diff --git a/src/main/java/com/flowdock/jenkins/FlowdockNotifier.java b/src/main/java/com/flowdock/jenkins/FlowdockNotifier.java index ce38a1b..93141d1 100644 --- a/src/main/java/com/flowdock/jenkins/FlowdockNotifier.java +++ b/src/main/java/com/flowdock/jenkins/FlowdockNotifier.java @@ -129,11 +129,29 @@ protected void notifyFlowdock(AbstractBuild build, BuildResult buildResult, Buil api.pushTeamInboxMessage(msg); listener.getLogger().println("Flowdock: Team Inbox notification sent successfully"); - if(build.getResult() != Result.SUCCESS && chatNotification) { - ChatMessage chatMsg = ChatMessage.fromBuild(build, buildResult, listener); - chatMsg.setTags(vars.expand(notificationTags)); - api.pushChatMessage(chatMsg); - logger.println("Flowdock: Chat notification sent successfully"); + if (chatNotification) { + String importanceIcon = null; + switch (buildResult) { + case FAILURE: + importanceIcon = ":exclamation:"; + break; + case FIXED: + importanceIcon = ":white_check_mark:"; + break; + case UNSTABLE: + importanceIcon = ":grey_exclamation:"; + break; + default: + break; + } + + if (importanceIcon != null) { + ChatMessage chatMsg = ChatMessage.fromBuild(build, buildResult, listener); + chatMsg.setTags(vars.expand(notificationTags)); + chatMsg.setContent(importanceIcon + " " + chatMsg.content); + api.pushChatMessage(chatMsg); + logger.println("Flowdock: Chat notification sent successfully"); + } } } diff --git a/src/main/resources/com/flowdock/jenkins/FlowdockNotifier/config.jelly b/src/main/resources/com/flowdock/jenkins/FlowdockNotifier/config.jelly index 7b0fb73..a0ceb83 100644 --- a/src/main/resources/com/flowdock/jenkins/FlowdockNotifier/config.jelly +++ b/src/main/resources/com/flowdock/jenkins/FlowdockNotifier/config.jelly @@ -16,7 +16,7 @@ title="Test connection with Chat notification" progress="Sending..." method="testConnection" with="flowToken,notificationTags" /> - +