Skip to content

Commit cebcc50

Browse files
authored
Merge pull request #156 from A4Vision/master
Refactor SlackNotificationPayloadContent - extract delegate class
2 parents ac76dda + a6968d7 commit cebcc50

File tree

2 files changed

+251
-231
lines changed

2 files changed

+251
-231
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package slacknotifications.teamcity.payload.content;
2+
3+
import jetbrains.buildServer.serverSide.SRunningBuild;
4+
import jetbrains.buildServer.users.SUser;
5+
import jetbrains.buildServer.vcs.SVcsModification;
6+
import slacknotifications.teamcity.Loggers;
7+
import slacknotifications.teamcity.SlackNotificator;
8+
9+
import java.util.ArrayList;
10+
import java.util.Collection;
11+
import java.util.List;
12+
13+
public class PayloadContentCommits {
14+
private List<Commit> commits;
15+
16+
public PayloadContentCommits() {
17+
commits = new ArrayList<Commit>();
18+
}
19+
20+
public void populateCommits(SRunningBuild sRunningBuild) {
21+
List<SVcsModification> changes = sRunningBuild.getContainingChanges();
22+
if (changes == null) {
23+
return;
24+
}
25+
26+
for (SVcsModification change : changes) {
27+
Collection<SUser> committers = change.getCommitters();
28+
String slackUserName = null;
29+
if (committers != null && !committers.isEmpty()) {
30+
SUser committer = committers.iterator().next();
31+
slackUserName = committer.getPropertyValue(SlackNotificator.USERNAME_KEY);
32+
Loggers.ACTIVITIES.debug("Resolved committer " + change.getUserName() + " to Slack User " + slackUserName);
33+
}
34+
commits.add(new Commit(change.getVersion(), change.getDescription(), change.getUserName(), slackUserName));
35+
}
36+
}
37+
38+
public List<Commit> getCommits() {
39+
return commits;
40+
}
41+
42+
public void setCommits(List<Commit> commits) {
43+
this.commits = commits;
44+
}
45+
}

0 commit comments

Comments
 (0)