Skip to content

Commit 35dbc6a

Browse files
committed
Adding support for parse in the payload
1 parent 9b3bab2 commit 35dbc6a

3 files changed

Lines changed: 22 additions & 8 deletions

File tree

src/main/java/in/ashwanthkumar/slack/webhook/Slack.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public class Slack {
1919
private String channel;
2020
private String user;
2121
private String icon;
22+
private String parse;
2223
private SlackService slackService;
2324

2425
public Slack(String webhookUrl, Proxy proxy) {
@@ -85,6 +86,16 @@ public Slack icon(String imageOrIcon) {
8586
return this;
8687
}
8788

89+
/**
90+
* Possible values being "full" or "none"
91+
* @param parse
92+
* @return
93+
*/
94+
public Slack parse(String parse) {
95+
this.parse = parse;
96+
return this;
97+
}
98+
8899
/**
89100
* Publishes messages to Slack Webhook
90101
*
@@ -93,7 +104,7 @@ public Slack icon(String imageOrIcon) {
93104
*/
94105
public void push(SlackMessage message) throws IOException {
95106
if (message != null) {
96-
slackService.push(webhookUrl, message, user, icon, channel);
107+
slackService.push(webhookUrl, message, user, icon, parse, channel);
97108
}
98109
}
99110

@@ -105,7 +116,7 @@ public void push(SlackMessage message) throws IOException {
105116
*/
106117
public void push(SlackAttachment attachment) throws IOException {
107118
if (attachment != null) {
108-
slackService.push(webhookUrl, new SlackMessage(), user, icon, channel, Lists.of(attachment));
119+
slackService.push(webhookUrl, new SlackMessage(), user, icon, channel, parse, Lists.of(attachment));
109120
}
110121
}
111122

@@ -116,6 +127,6 @@ public void push(SlackAttachment attachment) throws IOException {
116127
* @throws IOException
117128
*/
118129
public void push(List<SlackAttachment> attachments) throws IOException {
119-
slackService.push(webhookUrl, new SlackMessage(), user, icon, channel, attachments);
130+
slackService.push(webhookUrl, new SlackMessage(), user, icon, channel, parse, attachments);
120131
}
121132
}

src/main/java/in/ashwanthkumar/slack/webhook/service/SlackService.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public SlackService() {
3333
this(null);
3434
}
3535

36-
public void push(String webHookUrl, SlackMessage text, String username, String imageOrIcon, String destination, List<SlackAttachment> attachments) throws IOException {
36+
public void push(String webHookUrl, SlackMessage text, String username, String imageOrIcon, String destination, String parse, List<SlackAttachment> attachments) throws IOException {
3737
Map<String, Object> payload = new HashMap<String, Object>();
3838
if (isNotEmpty(username)) {
3939
payload.put("username", username);
@@ -49,12 +49,15 @@ public void push(String webHookUrl, SlackMessage text, String username, String i
4949
if (!attachments.isEmpty()) {
5050
payload.put("attachments", attachments);
5151
}
52+
if (isNotEmpty(parse)) {
53+
payload.put("parse", parse);
54+
}
5255
payload.put("text", text.toString());
5356
execute(webHookUrl, payload);
5457
}
5558

56-
public void push(String webHookUrl, SlackMessage text, String username, String imageOrIcon, String destination) throws IOException {
57-
push(webHookUrl, text, username, imageOrIcon, destination, new ArrayList<SlackAttachment>());
59+
public void push(String webHookUrl, SlackMessage text, String username, String imageOrIcon, String parse, String destination) throws IOException {
60+
push(webHookUrl, text, username, imageOrIcon, destination, parse, new ArrayList<SlackAttachment>());
5861
}
5962

6063
public void execute(String webHookUrl, Map<String, Object> payload) throws IOException {

src/test/java/in/ashwanthkumar/slack/webhook/SlackTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public void shouldSetChannelWithHashPrefix() throws IOException {
2020
Slack slack = new Slack("mockUrl", slackService);
2121
ArgumentCaptor<String> channelCaptor = ArgumentCaptor.forClass(String.class);
2222
SlackMessage message = new SlackMessage("hello");
23-
doNothing().when(slackService).push(anyString(), eq(message), anyString(), anyString(), channelCaptor.capture());
23+
doNothing().when(slackService).push(anyString(), eq(message), anyString(), anyString(), anyString(), channelCaptor.capture());
2424
slack.sendToChannel("dev-group").push(message);
2525
assertThat(channelCaptor.getValue(), is("#dev-group"));
2626
}
@@ -30,7 +30,7 @@ public void shouldSetUserWithAtTheRateOfPrefix() throws IOException {
3030
Slack slack = new Slack("mockUrl", slackService);
3131
ArgumentCaptor<String> channelCaptor = ArgumentCaptor.forClass(String.class);
3232
SlackMessage message = new SlackMessage("hello");
33-
doNothing().when(slackService).push(anyString(), eq(message), anyString(), anyString(), channelCaptor.capture());
33+
doNothing().when(slackService).push(anyString(), eq(message), anyString(), anyString(), anyString(), channelCaptor.capture());
3434
slack.sendToUser("slackbot").push(message);
3535
assertThat(channelCaptor.getValue(), is("@slackbot"));
3636
}

0 commit comments

Comments
 (0)