Skip to content

Commit 0f08f2c

Browse files
committed
2.1.1 release with timestamp
2 parents bcb5f4f + 0536eb5 commit 0f08f2c

3 files changed

Lines changed: 24 additions & 3 deletions

File tree

build.gradle

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ apply plugin: 'java'
77

88

99
sourceCompatibility = 1.5
10-
version = '2.0.0'
10+
version = '2.1.1'
1111

1212
configurations {
1313
deploy
@@ -17,7 +17,9 @@ dependencies {
1717
compile files('libs/openapi.jar', 'libs/server-api.jar' , 'libs/common-api.jar' , 'libs/servlet-api.jar')
1818
compile 'com.google.code.gson:gson:2.+'
1919
compile 'org.jdom:jdom:1+'
20+
compile 'joda-time:joda-time:2.3'
2021
deploy 'com.google.code.gson:gson:2.+'
22+
deploy 'joda-time:joda-time:2.3'
2123

2224
}
2325

src/main/java/com/tapadoo/slacknotifier/SlackServerAdapter.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
import jetbrains.buildServer.users.SUser;
1010
import jetbrains.buildServer.users.UserSet;
1111
import jetbrains.buildServer.vcs.SelectPrevBuildPolicy;
12+
import org.joda.time.Duration;
13+
import org.joda.time.Period;
14+
import org.joda.time.format.PeriodFormatter;
15+
import org.joda.time.format.PeriodFormatterBuilder;
1216

1317
import java.io.BufferedOutputStream;
1418
import java.io.IOException;
@@ -124,10 +128,25 @@ else if( projectSettings != null && projectSettings.getChannel() != null && proj
124128

125129
String message = "";
126130

131+
PeriodFormatter durationFormatter = new PeriodFormatterBuilder()
132+
.printZeroRarelyFirst()
133+
.appendHours()
134+
.appendSuffix(" hour", " hours")
135+
.appendSeparator(" ")
136+
.printZeroRarelyLast()
137+
.appendMinutes()
138+
.appendSuffix(" minute", "minutes")
139+
.appendSeparator(" and ")
140+
.appendSeconds()
141+
.appendSuffix(" second", " seconds")
142+
.toFormatter();
143+
144+
Duration buildDuration = new Duration(1000*build.getDuration());
145+
127146
JsonObject payloadObj = new JsonObject();
128147
payloadObj.addProperty("channel" , channel);
129148
payloadObj.addProperty("username" , "TeamCity");
130-
payloadObj.addProperty("text", String.format("Project '%s' built successfully." , build.getFullName()));
149+
payloadObj.addProperty("text", String.format("Project '%s' built successfully in %s." , build.getFullName() , durationFormatter.print(buildDuration.toPeriod())));
131150
payloadObj.addProperty("icon_url",slackConfig.getLogoUrl());
132151

133152
if( commitMsg.length() > 0 )

teamcity-plugin.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<info>
55
<name>slackNotifier</name> <!-- the name of plugin used in teamcity -->
66
<display-name>Slack Notifier</display-name>
7-
<version>2.0.0</version>
7+
<version>2.1.1</version>
88
<description>Post build success notifications to Slack</description>
99
<vendor>
1010
<name>Tapadoo</name>

0 commit comments

Comments
 (0)