From 0fdb858dd1c092c5238e56c81106c8e3e6ca6cfb Mon Sep 17 00:00:00 2001 From: Kazuhiro Sera Date: Wed, 18 Aug 2021 08:40:35 +0900 Subject: [PATCH 1/3] Update link_shared event payload for the changes starting on Sept 1 --- .../api/model/event/LinkSharedEvent.java | 8 ++++- .../api/model/event/LinkSharedEventTest.java | 30 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/slack-api-model/src/main/java/com/slack/api/model/event/LinkSharedEvent.java b/slack-api-model/src/main/java/com/slack/api/model/event/LinkSharedEvent.java index 0966516e3..6c98ef416 100644 --- a/slack-api-model/src/main/java/com/slack/api/model/event/LinkSharedEvent.java +++ b/slack-api-model/src/main/java/com/slack/api/model/event/LinkSharedEvent.java @@ -16,13 +16,19 @@ public class LinkSharedEvent implements Event { public static final String TYPE_NAME = "link_shared"; private final String type = TYPE_NAME; - private String channel; + private String channel; // This can be "COMPOSER" private String user; private String messageTs; private String threadTs; private List links; @SerializedName("is_bot_user_member") private boolean botUserMember; + + // https://api.slack.com/changelog/2021-08-changes-to-unfurls + private String unfurlId; + // https://api.slack.com/changelog/2021-08-changes-to-unfurls + private String source; // "composer" + private String eventTs; @Data diff --git a/slack-api-model/src/test/java/test_locally/api/model/event/LinkSharedEventTest.java b/slack-api-model/src/test/java/test_locally/api/model/event/LinkSharedEventTest.java index 73b03f1ac..ae4746539 100644 --- a/slack-api-model/src/test/java/test_locally/api/model/event/LinkSharedEventTest.java +++ b/slack-api-model/src/test/java/test_locally/api/model/event/LinkSharedEventTest.java @@ -56,4 +56,34 @@ public void serialize() { assertThat(generatedJson, is(expectedJson)); } + @Test + public void newUnfurls_2021_08() { + // https://api.slack.com/changelog/2021-08-changes-to-unfurls + String json = "{\n" + + " \"type\": \"link_shared\",\n" + + " \"channel\": \"COMPOSER\",\n" + + " \"is_bot_user_member\": true,\n" + + " \"user\": \"Uxxxxxxx\",\n" + + " \"message_ts\": \"Uxxxxxxx-909b5454-75f8-4ac4-b325-1b40e230bbd8-gryl3kb80b3wm49ihzoo35fyqoq08n2y\",\n" + + " \"unfurl_id\": \"Uxxxxxxx-909b5454-75f8-4ac4-b325-1b40e230bbd8-gryl3kb80b3wm49ihzoo35fyqoq08n2y\",\n" + + " \"source\": \"composer\",\n" + + " \"links\": [\n" + + " {\n" + + " \"domain\": \"example.com\",\n" + + " \"url\": \"https://example.com/12345\"\n" + + " },\n" + + " {\n" + + " \"domain\": \"example.com\",\n" + + " \"url\": \"https://example.com/67890\"\n" + + " },\n" + + " {\n" + + " \"domain\": \"another-example.com\",\n" + + " \"url\": \"https://yet.another-example.com/v/abcde\"\n" + + " }\n" + + " ]\n" + + "}\n"; + LinkSharedEvent event = GsonFactory.createSnakeCase().fromJson(json, LinkSharedEvent.class); + assertThat(event.getType(), is("link_shared")); + } + } From ee6811716e622e991203c3aa71ea8821564e4336 Mon Sep 17 00:00:00 2001 From: Kazuhiro Sera Date: Wed, 18 Aug 2021 09:19:48 +0900 Subject: [PATCH 2/3] Run all the tests --- json-logs/samples/events/LinkSharedPayload.json | 2 ++ json-logs/samples/rtm/LinkSharedEvent.json | 2 ++ 2 files changed, 4 insertions(+) diff --git a/json-logs/samples/events/LinkSharedPayload.json b/json-logs/samples/events/LinkSharedPayload.json index 9643c2e1f..9209d4493 100644 --- a/json-logs/samples/events/LinkSharedPayload.json +++ b/json-logs/samples/events/LinkSharedPayload.json @@ -27,6 +27,8 @@ } ], "is_bot_user_member": false, + "unfurl_id": "", + "source": "", "event_ts": "" } } \ No newline at end of file diff --git a/json-logs/samples/rtm/LinkSharedEvent.json b/json-logs/samples/rtm/LinkSharedEvent.json index c4d6d118c..00d53f38c 100644 --- a/json-logs/samples/rtm/LinkSharedEvent.json +++ b/json-logs/samples/rtm/LinkSharedEvent.json @@ -11,5 +11,7 @@ } ], "is_bot_user_member": false, + "unfurl_id": "", + "source": "", "event_ts": "" } \ No newline at end of file From 4a0a83c19a719962d6a03b44edb811490f0adb10 Mon Sep 17 00:00:00 2001 From: Kazuhiro Sera Date: Wed, 18 Aug 2021 09:27:58 +0900 Subject: [PATCH 3/3] Update chat.unfurl API as well --- .../src/main/java/com/slack/api/methods/RequestFormBuilder.java | 1 + .../com/slack/api/methods/request/chat/ChatUnfurlRequest.java | 2 ++ .../main/java/com/slack/api/model/event/LinkSharedEvent.java | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/slack-api-client/src/main/java/com/slack/api/methods/RequestFormBuilder.java b/slack-api-client/src/main/java/com/slack/api/methods/RequestFormBuilder.java index 4f8b72b37..dea6037b3 100644 --- a/slack-api-client/src/main/java/com/slack/api/methods/RequestFormBuilder.java +++ b/slack-api-client/src/main/java/com/slack/api/methods/RequestFormBuilder.java @@ -1198,6 +1198,7 @@ public static FormBody.Builder toForm(ChatUnfurlRequest req) { setIfNotNull("user_auth_message", req.getUserAuthMessage(), form); setIfNotNull("user_auth_blocks", req.getUserAuthBlocks(), form); setIfNotNull("user_auth_url", req.getUserAuthUrl(), form); + setIfNotNull("unfurl_id", req.getUnfurlId(), form); return form; } diff --git a/slack-api-client/src/main/java/com/slack/api/methods/request/chat/ChatUnfurlRequest.java b/slack-api-client/src/main/java/com/slack/api/methods/request/chat/ChatUnfurlRequest.java index 40aefd849..b887cf044 100644 --- a/slack-api-client/src/main/java/com/slack/api/methods/request/chat/ChatUnfurlRequest.java +++ b/slack-api-client/src/main/java/com/slack/api/methods/request/chat/ChatUnfurlRequest.java @@ -62,6 +62,8 @@ public class ChatUnfurlRequest implements SlackApiRequest { */ private String channel; + // https://api.slack.com/changelog/2021-08-changes-to-unfurls + private String unfurlId; // https://api.slack.com/docs/message-link-unfurling#unfurls_parameter @Data diff --git a/slack-api-model/src/main/java/com/slack/api/model/event/LinkSharedEvent.java b/slack-api-model/src/main/java/com/slack/api/model/event/LinkSharedEvent.java index 6c98ef416..aa6fc34c8 100644 --- a/slack-api-model/src/main/java/com/slack/api/model/event/LinkSharedEvent.java +++ b/slack-api-model/src/main/java/com/slack/api/model/event/LinkSharedEvent.java @@ -27,7 +27,7 @@ public class LinkSharedEvent implements Event { // https://api.slack.com/changelog/2021-08-changes-to-unfurls private String unfurlId; // https://api.slack.com/changelog/2021-08-changes-to-unfurls - private String source; // "composer" + private String source; // "composer" / "conversations_history" private String eventTs;