Skip to content

Commit 99b8a7f

Browse files
authored
Update link_shared event payload for the changes starting on September 1 (#817)
* Update link_shared event payload for the changes starting on Sept 1 * Run all the tests * Update chat.unfurl API as well
1 parent cbd252f commit 99b8a7f

File tree

6 files changed

+44
-1
lines changed

6 files changed

+44
-1
lines changed

json-logs/samples/events/LinkSharedPayload.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
}
2828
],
2929
"is_bot_user_member": false,
30+
"unfurl_id": "",
31+
"source": "",
3032
"event_ts": ""
3133
}
3234
}

json-logs/samples/rtm/LinkSharedEvent.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,7 @@
1111
}
1212
],
1313
"is_bot_user_member": false,
14+
"unfurl_id": "",
15+
"source": "",
1416
"event_ts": ""
1517
}

slack-api-client/src/main/java/com/slack/api/methods/RequestFormBuilder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1205,6 +1205,7 @@ public static FormBody.Builder toForm(ChatUnfurlRequest req) {
12051205
setIfNotNull("user_auth_message", req.getUserAuthMessage(), form);
12061206
setIfNotNull("user_auth_blocks", req.getUserAuthBlocks(), form);
12071207
setIfNotNull("user_auth_url", req.getUserAuthUrl(), form);
1208+
setIfNotNull("unfurl_id", req.getUnfurlId(), form);
12081209
return form;
12091210
}
12101211

slack-api-client/src/main/java/com/slack/api/methods/request/chat/ChatUnfurlRequest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ public class ChatUnfurlRequest implements SlackApiRequest {
6262
*/
6363
private String channel;
6464

65+
// https://api.slack.com/changelog/2021-08-changes-to-unfurls
66+
private String unfurlId;
6567

6668
// https://api.slack.com/docs/message-link-unfurling#unfurls_parameter
6769
@Data

slack-api-model/src/main/java/com/slack/api/model/event/LinkSharedEvent.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,19 @@ public class LinkSharedEvent implements Event {
1616
public static final String TYPE_NAME = "link_shared";
1717

1818
private final String type = TYPE_NAME;
19-
private String channel;
19+
private String channel; // This can be "COMPOSER"
2020
private String user;
2121
private String messageTs;
2222
private String threadTs;
2323
private List<Link> links;
2424
@SerializedName("is_bot_user_member")
2525
private boolean botUserMember;
26+
27+
// https://api.slack.com/changelog/2021-08-changes-to-unfurls
28+
private String unfurlId;
29+
// https://api.slack.com/changelog/2021-08-changes-to-unfurls
30+
private String source; // "composer" / "conversations_history"
31+
2632
private String eventTs;
2733

2834
@Data

slack-api-model/src/test/java/test_locally/api/model/event/LinkSharedEventTest.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,34 @@ public void serialize() {
5656
assertThat(generatedJson, is(expectedJson));
5757
}
5858

59+
@Test
60+
public void newUnfurls_2021_08() {
61+
// https://api.slack.com/changelog/2021-08-changes-to-unfurls
62+
String json = "{\n" +
63+
" \"type\": \"link_shared\",\n" +
64+
" \"channel\": \"COMPOSER\",\n" +
65+
" \"is_bot_user_member\": true,\n" +
66+
" \"user\": \"Uxxxxxxx\",\n" +
67+
" \"message_ts\": \"Uxxxxxxx-909b5454-75f8-4ac4-b325-1b40e230bbd8-gryl3kb80b3wm49ihzoo35fyqoq08n2y\",\n" +
68+
" \"unfurl_id\": \"Uxxxxxxx-909b5454-75f8-4ac4-b325-1b40e230bbd8-gryl3kb80b3wm49ihzoo35fyqoq08n2y\",\n" +
69+
" \"source\": \"composer\",\n" +
70+
" \"links\": [\n" +
71+
" {\n" +
72+
" \"domain\": \"example.com\",\n" +
73+
" \"url\": \"https://example.com/12345\"\n" +
74+
" },\n" +
75+
" {\n" +
76+
" \"domain\": \"example.com\",\n" +
77+
" \"url\": \"https://example.com/67890\"\n" +
78+
" },\n" +
79+
" {\n" +
80+
" \"domain\": \"another-example.com\",\n" +
81+
" \"url\": \"https://yet.another-example.com/v/abcde\"\n" +
82+
" }\n" +
83+
" ]\n" +
84+
"}\n";
85+
LinkSharedEvent event = GsonFactory.createSnakeCase().fromJson(json, LinkSharedEvent.class);
86+
assertThat(event.getType(), is("link_shared"));
87+
}
88+
5989
}

0 commit comments

Comments
 (0)