Skip to content

Commit e5603c3

Browse files
committed
Fix NullPointerException
1 parent 100ef2b commit e5603c3

3 files changed

Lines changed: 10 additions & 6 deletions

File tree

tcslackbuildnotifier-core/src/main/java/slacknotifications/teamcity/SlackNotificationListener.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import slacknotifications.SlackNotification;
1313
import slacknotifications.teamcity.payload.SlackNotificationPayloadManager;
1414
import slacknotifications.teamcity.settings.SlackNotificationConfig;
15+
import slacknotifications.teamcity.settings.SlackNotificationContentConfig;
1516
import slacknotifications.teamcity.settings.SlackNotificationMainSettings;
1617
import slacknotifications.teamcity.settings.SlackNotificationProjectSettings;
1718

@@ -74,20 +75,20 @@ public void getFromConfig(SlackNotification slackNotification, SlackNotification
7475
slackNotification.setShowElapsedBuildTime(myMainSettings.getShowElapsedBuildTime());
7576
slackNotification.setShowCommits(myMainSettings.getShowCommits());
7677
slackNotification.setShowCommitters(myMainSettings.getShowCommitters());
77-
slackNotification.setShowFailureReason(myMainSettings.getShowFailureReason());
78+
slackNotification.setShowFailureReason(myMainSettings.getShowFailureReason() == null ? SlackNotificationContentConfig.DEFAULT_SHOW_FAILURE_REASON : myMainSettings.getShowFailureReason());
7879
slackNotification.setMaxCommitsToDisplay(myMainSettings.getMaxCommitsToDisplay());
7980
slackNotification.setMentionChannelEnabled(slackNotificationConfig.getMentionChannelEnabled());
8081
slackNotification.setMentionSlackUserEnabled(slackNotificationConfig.getMentionSlackUserEnabled());
81-
slackNotification.setShowElapsedBuildTime(myMainSettings.getShowFailureReason());
82-
if(slackNotificationConfig.getContent().isEnabled()) {
82+
slackNotification.setShowElapsedBuildTime(myMainSettings.getShowElapsedBuildTime());
83+
if(slackNotificationConfig.getContent() != null && slackNotificationConfig.getContent().isEnabled()) {
8384
slackNotification.setBotName(slackNotificationConfig.getContent().getBotName());
8485
slackNotification.setIconUrl(slackNotificationConfig.getContent().getIconUrl());
8586
slackNotification.setMaxCommitsToDisplay(slackNotificationConfig.getContent().getMaxCommitsToDisplay());
8687
slackNotification.setShowBuildAgent(slackNotificationConfig.getContent().getShowBuildAgent());
8788
slackNotification.setShowElapsedBuildTime(slackNotificationConfig.getContent().getShowElapsedBuildTime());
8889
slackNotification.setShowCommits(slackNotificationConfig.getContent().getShowCommits());
8990
slackNotification.setShowCommitters(slackNotificationConfig.getContent().getShowCommitters());
90-
slackNotification.setShowFailureReason(slackNotificationConfig.getContent().getShowFailureReason());
91+
slackNotification.setShowFailureReason(slackNotificationConfig.getContent().getShowFailureReason() == null ? SlackNotificationContentConfig.DEFAULT_SHOW_FAILURE_REASON : slackNotificationConfig.getContent().getShowFailureReason());
9192
}
9293
Loggers.ACTIVITIES.debug("SlackNotificationListener :: SlackNotification proxy set to "
9394
+ slackNotification.getProxyHost() + " for " + slackNotificationConfig.getChannel());

tcslackbuildnotifier-core/src/main/java/slacknotifications/teamcity/payload/content/SlackNotificationPayloadContent.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ public class SlackNotificationPayloadContent {
7373
private String color;
7474
private long elapsedTime;
7575
private boolean isComplete;
76-
private ArrayList<String> failedBuildMessages;
77-
private ArrayList<String> failedTestNames;
76+
private ArrayList<String> failedBuildMessages = new ArrayList<String>();
77+
private ArrayList<String> failedTestNames = new ArrayList<String>();
7878

7979
public SlackNotificationPayloadContent(){
8080

tcslackbuildnotifier-core/src/main/java/slacknotifications/teamcity/settings/SlackNotificationMainConfig.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,9 @@ public SlackNotificationProxyConfig getProxyConfig() {
411411
}
412412

413413
public SlackNotificationContentConfig getContent() {
414+
if(content == null){
415+
this.content = new SlackNotificationContentConfig();
416+
}
414417
return content;
415418
}
416419
}

0 commit comments

Comments
 (0)