diff --git a/bolt-aws-lambda/pom.xml b/bolt-aws-lambda/pom.xml index 4d4d1df42..5930f0b8b 100644 --- a/bolt-aws-lambda/pom.xml +++ b/bolt-aws-lambda/pom.xml @@ -6,7 +6,7 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT @@ -14,7 +14,7 @@ bolt-aws-lambda - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/bolt-docker-examples/echo-command-app/build.gradle b/bolt-docker-examples/echo-command-app/build.gradle index ee8c79932..81acf18b3 100644 --- a/bolt-docker-examples/echo-command-app/build.gradle +++ b/bolt-docker-examples/echo-command-app/build.gradle @@ -10,7 +10,7 @@ repositories { dependencies { implementation(platform("org.jetbrains.kotlin:kotlin-bom")) implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") - implementation("com.slack.api:bolt-jetty:1.37.0") + implementation("com.slack.api:bolt-jetty:1.38.0") implementation("ch.qos.logback:logback-classic:1.2.11") implementation('net.logstash.logback:logstash-logback-encoder:6.2') } diff --git a/bolt-google-cloud-functions/pom.xml b/bolt-google-cloud-functions/pom.xml index 9352e5615..aa6f54dac 100644 --- a/bolt-google-cloud-functions/pom.xml +++ b/bolt-google-cloud-functions/pom.xml @@ -6,7 +6,7 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT @@ -17,7 +17,7 @@ bolt-google-cloud-functions - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/bolt-helidon/pom.xml b/bolt-helidon/pom.xml index 0918253f7..995b8f8ea 100644 --- a/bolt-helidon/pom.xml +++ b/bolt-helidon/pom.xml @@ -6,7 +6,7 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT @@ -18,7 +18,7 @@ bolt-helidon - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/bolt-http4k/pom.xml b/bolt-http4k/pom.xml index f2b6d3c17..6fd06981b 100644 --- a/bolt-http4k/pom.xml +++ b/bolt-http4k/pom.xml @@ -6,15 +6,15 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT - 5.12.1.0 + 5.13.2.0 bolt-http4k - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/bolt-jakarta-jetty/pom.xml b/bolt-jakarta-jetty/pom.xml index b528eef3a..89053248c 100644 --- a/bolt-jakarta-jetty/pom.xml +++ b/bolt-jakarta-jetty/pom.xml @@ -6,11 +6,11 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT bolt-jakarta-jetty - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/bolt-jakarta-servlet/pom.xml b/bolt-jakarta-servlet/pom.xml index c43bee28c..237cca49e 100644 --- a/bolt-jakarta-servlet/pom.xml +++ b/bolt-jakarta-servlet/pom.xml @@ -6,11 +6,11 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT bolt-jakarta-servlet - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/bolt-jetty/pom.xml b/bolt-jetty/pom.xml index c27bc8763..1f35868b7 100644 --- a/bolt-jetty/pom.xml +++ b/bolt-jetty/pom.xml @@ -6,7 +6,7 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT @@ -14,7 +14,7 @@ bolt-jetty - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/bolt-kotlin-examples/pom.xml b/bolt-kotlin-examples/pom.xml index 3c15aba16..4576a8d74 100644 --- a/bolt-kotlin-examples/pom.xml +++ b/bolt-kotlin-examples/pom.xml @@ -6,11 +6,11 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT bolt-kotlin-examples - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/bolt-ktor/pom.xml b/bolt-ktor/pom.xml index 881bc6a79..24e339637 100644 --- a/bolt-ktor/pom.xml +++ b/bolt-ktor/pom.xml @@ -5,11 +5,11 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT bolt-ktor - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/bolt-micronaut/pom.xml b/bolt-micronaut/pom.xml index b866afb8f..e4b0ac848 100644 --- a/bolt-micronaut/pom.xml +++ b/bolt-micronaut/pom.xml @@ -6,7 +6,7 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT @@ -21,7 +21,7 @@ bolt-micronaut - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/bolt-quarkus-examples/pom.xml b/bolt-quarkus-examples/pom.xml index ce04dcaaa..9199b0c5c 100644 --- a/bolt-quarkus-examples/pom.xml +++ b/bolt-quarkus-examples/pom.xml @@ -6,7 +6,7 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT @@ -24,7 +24,7 @@ bolt-quarkus-examples - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/bolt-servlet/pom.xml b/bolt-servlet/pom.xml index 05c35abdf..e1b19a6d5 100644 --- a/bolt-servlet/pom.xml +++ b/bolt-servlet/pom.xml @@ -6,7 +6,7 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT @@ -15,7 +15,7 @@ bolt-servlet - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/bolt-socket-mode/pom.xml b/bolt-socket-mode/pom.xml index fd3b66d47..be32327cc 100644 --- a/bolt-socket-mode/pom.xml +++ b/bolt-socket-mode/pom.xml @@ -6,7 +6,7 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT @@ -17,7 +17,7 @@ bolt-socket-mode - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/bolt/pom.xml b/bolt/pom.xml index 6b9816859..857c22909 100644 --- a/bolt/pom.xml +++ b/bolt/pom.xml @@ -6,11 +6,11 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT bolt - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/bolt/src/main/java/com/slack/api/bolt/meta/BoltLibraryVersion.java b/bolt/src/main/java/com/slack/api/bolt/meta/BoltLibraryVersion.java index d92810256..952fc1aa4 100644 --- a/bolt/src/main/java/com/slack/api/bolt/meta/BoltLibraryVersion.java +++ b/bolt/src/main/java/com/slack/api/bolt/meta/BoltLibraryVersion.java @@ -5,7 +5,7 @@ private BoltLibraryVersion() { } public static final String get() { - return "1.37.1-SNAPSHOT"; + return "1.38.1-SNAPSHOT"; } } diff --git a/docs/_config.yml b/docs/_config.yml index cdde5783b..7bd82a852 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -6,7 +6,7 @@ markdown: kramdown baseurl: /java-slack-sdk url: https://slack.dev -sdkLatestVersion: 1.37.0 +sdkLatestVersion: 1.38.0 okhttpVersion: 4.10.0 slf4jApiVersion: 1.7.36 kotlinVersion: 1.7.21 diff --git a/json-logs/samples/api/chat.postMessage.json b/json-logs/samples/api/chat.postMessage.json index 691a62bf9..a71c32891 100644 --- a/json-logs/samples/api/chat.postMessage.json +++ b/json-logs/samples/api/chat.postMessage.json @@ -744,7 +744,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1052,7 +1056,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1068,6 +1076,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1103,7 +1116,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -3757,7 +3774,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -4712,7 +4733,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -5020,7 +5045,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -5036,6 +5065,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -5071,7 +5105,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -7725,7 +7763,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -9357,7 +9399,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -9665,7 +9711,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -9681,6 +9731,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -9716,7 +9771,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -12370,7 +12429,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -13356,7 +13419,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -13664,7 +13731,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -13680,6 +13751,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -13715,7 +13791,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -16369,7 +16449,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -17333,7 +17417,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -19648,6 +19736,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -19818,6 +19911,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -19978,6 +20075,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { diff --git a/json-logs/samples/api/chat.scheduleMessage.json b/json-logs/samples/api/chat.scheduleMessage.json index a36f4d6d1..98d29785e 100644 --- a/json-logs/samples/api/chat.scheduleMessage.json +++ b/json-logs/samples/api/chat.scheduleMessage.json @@ -616,7 +616,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -2931,6 +2935,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -3101,6 +3110,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -3261,6 +3274,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { diff --git a/json-logs/samples/api/chat.update.json b/json-logs/samples/api/chat.update.json index 060198639..23fe4c8b7 100644 --- a/json-logs/samples/api/chat.update.json +++ b/json-logs/samples/api/chat.update.json @@ -877,7 +877,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1185,7 +1189,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1201,6 +1209,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1236,7 +1249,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -3890,7 +3907,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -4877,7 +4898,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -7192,6 +7217,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -7362,6 +7392,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -7522,6 +7556,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { diff --git a/json-logs/samples/api/conversations.history.json b/json-logs/samples/api/conversations.history.json index 27e77030a..3074a55c3 100644 --- a/json-logs/samples/api/conversations.history.json +++ b/json-logs/samples/api/conversations.history.json @@ -880,7 +880,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1188,7 +1192,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1204,6 +1212,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1239,7 +1252,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -3893,7 +3910,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -4880,7 +4901,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -7195,6 +7220,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -7365,6 +7395,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -7525,6 +7559,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -8203,7 +8241,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -8511,7 +8553,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -8527,6 +8573,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -8562,7 +8613,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -11216,7 +11271,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -12171,7 +12230,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -12479,7 +12542,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -12495,6 +12562,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -12530,7 +12602,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -15184,7 +15260,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -16816,7 +16896,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -17124,7 +17208,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -17140,6 +17228,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -17175,7 +17268,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -19829,7 +19926,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -20815,7 +20916,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -21123,7 +21228,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -21139,6 +21248,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -21174,7 +21288,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -23828,7 +23946,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { diff --git a/json-logs/samples/api/conversations.open.json b/json-logs/samples/api/conversations.open.json index aef5e7640..08519a83c 100644 --- a/json-logs/samples/api/conversations.open.json +++ b/json-logs/samples/api/conversations.open.json @@ -571,7 +571,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -2886,6 +2890,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -3056,6 +3065,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -3216,6 +3229,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { diff --git a/json-logs/samples/api/conversations.replies.json b/json-logs/samples/api/conversations.replies.json index b2e748ab7..a27e61c45 100644 --- a/json-logs/samples/api/conversations.replies.json +++ b/json-logs/samples/api/conversations.replies.json @@ -594,7 +594,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -2909,6 +2913,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -3079,6 +3088,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -3239,6 +3252,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -3917,7 +3934,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -4225,7 +4246,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -4241,6 +4266,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -4276,7 +4306,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -6930,7 +6964,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -7885,7 +7923,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -8193,7 +8235,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -8209,6 +8255,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -8244,7 +8295,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -10898,7 +10953,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -12530,7 +12589,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -12838,7 +12901,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -12854,6 +12921,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -12889,7 +12961,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -15543,7 +15619,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -16529,7 +16609,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -16837,7 +16921,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -16853,6 +16941,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -16888,7 +16981,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -19542,7 +19639,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -20758,7 +20859,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -21066,7 +21171,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -21082,6 +21191,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -21117,7 +21231,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -23771,7 +23889,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { diff --git a/json-logs/samples/api/files.remote.add.json b/json-logs/samples/api/files.remote.add.json index 30fe0bfe2..4f2eb990b 100644 --- a/json-logs/samples/api/files.remote.add.json +++ b/json-logs/samples/api/files.remote.add.json @@ -791,7 +791,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1099,7 +1103,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1115,6 +1123,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1150,7 +1163,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -3804,7 +3821,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { diff --git a/json-logs/samples/api/files.remote.info.json b/json-logs/samples/api/files.remote.info.json index 30fe0bfe2..4f2eb990b 100644 --- a/json-logs/samples/api/files.remote.info.json +++ b/json-logs/samples/api/files.remote.info.json @@ -791,7 +791,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1099,7 +1103,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1115,6 +1123,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1150,7 +1163,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -3804,7 +3821,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { diff --git a/json-logs/samples/api/files.remote.share.json b/json-logs/samples/api/files.remote.share.json index 30fe0bfe2..4f2eb990b 100644 --- a/json-logs/samples/api/files.remote.share.json +++ b/json-logs/samples/api/files.remote.share.json @@ -791,7 +791,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1099,7 +1103,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1115,6 +1123,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1150,7 +1163,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -3804,7 +3821,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { diff --git a/json-logs/samples/api/files.remote.update.json b/json-logs/samples/api/files.remote.update.json index 30fe0bfe2..4f2eb990b 100644 --- a/json-logs/samples/api/files.remote.update.json +++ b/json-logs/samples/api/files.remote.update.json @@ -791,7 +791,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1099,7 +1103,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1115,6 +1123,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1150,7 +1163,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -3804,7 +3821,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { diff --git a/json-logs/samples/api/files.revokePublicURL.json b/json-logs/samples/api/files.revokePublicURL.json index 30fe0bfe2..4f2eb990b 100644 --- a/json-logs/samples/api/files.revokePublicURL.json +++ b/json-logs/samples/api/files.revokePublicURL.json @@ -791,7 +791,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1099,7 +1103,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1115,6 +1123,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1150,7 +1163,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -3804,7 +3821,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { diff --git a/json-logs/samples/api/files.sharedPublicURL.json b/json-logs/samples/api/files.sharedPublicURL.json index 30fe0bfe2..4f2eb990b 100644 --- a/json-logs/samples/api/files.sharedPublicURL.json +++ b/json-logs/samples/api/files.sharedPublicURL.json @@ -791,7 +791,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1099,7 +1103,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1115,6 +1123,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1150,7 +1163,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -3804,7 +3821,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { diff --git a/json-logs/samples/api/files.upload.json b/json-logs/samples/api/files.upload.json index 30fe0bfe2..4f2eb990b 100644 --- a/json-logs/samples/api/files.upload.json +++ b/json-logs/samples/api/files.upload.json @@ -791,7 +791,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1099,7 +1103,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1115,6 +1123,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1150,7 +1163,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -3804,7 +3821,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { diff --git a/json-logs/samples/api/pins.list.json b/json-logs/samples/api/pins.list.json index 6c7674267..0441334dc 100644 --- a/json-logs/samples/api/pins.list.json +++ b/json-logs/samples/api/pins.list.json @@ -796,7 +796,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1104,7 +1108,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1120,6 +1128,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1155,7 +1168,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -3809,7 +3826,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { diff --git a/json-logs/samples/api/reactions.get.json b/json-logs/samples/api/reactions.get.json index 7459ceedd..0502207d2 100644 --- a/json-logs/samples/api/reactions.get.json +++ b/json-logs/samples/api/reactions.get.json @@ -622,7 +622,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -2937,6 +2941,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -3107,6 +3116,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -3267,6 +3280,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { diff --git a/json-logs/samples/api/reactions.list.json b/json-logs/samples/api/reactions.list.json index f7d4854d4..60a03d49c 100644 --- a/json-logs/samples/api/reactions.list.json +++ b/json-logs/samples/api/reactions.list.json @@ -904,7 +904,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1212,7 +1216,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1228,6 +1236,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1263,7 +1276,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -3917,7 +3934,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -4904,7 +4925,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -7219,6 +7244,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -7389,6 +7419,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -7549,6 +7583,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -8227,7 +8265,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -8535,7 +8577,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -8551,6 +8597,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -8586,7 +8637,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -11240,7 +11295,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -12195,7 +12254,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -12503,7 +12566,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -12519,6 +12586,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -12554,7 +12626,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -15208,7 +15284,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -16840,7 +16920,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -17148,7 +17232,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -17164,6 +17252,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -17199,7 +17292,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -19853,7 +19950,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -20839,7 +20940,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -21147,7 +21252,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -21163,6 +21272,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -21198,7 +21312,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -23852,7 +23970,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { diff --git a/json-logs/samples/api/rtm.start.json b/json-logs/samples/api/rtm.start.json index 568f9f108..0ee92ef8b 100644 --- a/json-logs/samples/api/rtm.start.json +++ b/json-logs/samples/api/rtm.start.json @@ -1707,7 +1707,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -2015,7 +2019,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -2031,6 +2039,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -2066,7 +2079,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -4720,7 +4737,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -5675,7 +5696,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -5983,7 +6008,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -5999,6 +6028,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -6034,7 +6068,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -8688,7 +8726,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -10320,7 +10362,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -10628,7 +10674,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -10644,6 +10694,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -10679,7 +10734,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -13333,7 +13392,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -14319,7 +14382,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -14627,7 +14694,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -14643,6 +14714,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -14678,7 +14754,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -17332,7 +17412,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -18296,7 +18380,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -20611,6 +20699,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -20781,6 +20874,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -20941,6 +21038,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -21772,7 +21873,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -22080,7 +22185,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -22096,6 +22205,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -22131,7 +22245,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -24785,7 +24903,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -26055,7 +26177,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -26363,7 +26489,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -26379,6 +26509,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -26414,7 +26549,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -29068,7 +29207,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -30023,7 +30166,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -30331,7 +30478,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -30347,6 +30498,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -30382,7 +30538,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -33036,7 +33196,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -34668,7 +34832,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -34976,7 +35144,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -34992,6 +35164,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -35027,7 +35204,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -37681,7 +37862,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -38667,7 +38852,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -38975,7 +39164,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -38991,6 +39184,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -39026,7 +39224,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -41680,7 +41882,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -42644,7 +42850,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -44959,6 +45169,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -45129,6 +45344,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -45289,6 +45508,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -46120,7 +46343,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -46428,7 +46655,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -46444,6 +46675,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -46479,7 +46715,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -49133,7 +49373,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { diff --git a/json-logs/samples/api/search.all.json b/json-logs/samples/api/search.all.json index 5dd7aff8e..ea3edf643 100644 --- a/json-logs/samples/api/search.all.json +++ b/json-logs/samples/api/search.all.json @@ -695,7 +695,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1003,7 +1007,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1019,6 +1027,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1054,7 +1067,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -3708,7 +3725,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -4663,7 +4684,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -4971,7 +4996,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -4987,6 +5016,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -5022,7 +5056,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -7676,7 +7714,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -9308,7 +9350,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -9616,7 +9662,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -9632,6 +9682,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -9667,7 +9722,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -12321,7 +12380,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -13307,7 +13370,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -13615,7 +13682,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -13631,6 +13702,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -13666,7 +13742,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -16320,7 +16400,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -17284,7 +17368,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -19599,6 +19687,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -19769,6 +19862,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -19929,6 +20026,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -20616,7 +20717,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -20924,7 +21029,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -20940,6 +21049,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -20975,7 +21089,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -23629,7 +23747,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -24584,7 +24706,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -24892,7 +25018,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -24908,6 +25038,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -24943,7 +25078,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -27597,7 +27736,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -29229,7 +29372,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -29537,7 +29684,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -29553,6 +29704,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -29588,7 +29744,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -32242,7 +32402,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -33228,7 +33392,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -33536,7 +33704,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -33552,6 +33724,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -33587,7 +33764,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -36241,7 +36422,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -37205,7 +37390,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -39520,6 +39709,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -39690,6 +39884,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -39850,6 +40048,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -40432,7 +40634,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -42747,6 +42953,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -42917,6 +43128,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -43077,6 +43292,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -43755,7 +43974,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -44063,7 +44286,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -44079,6 +44306,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -44114,7 +44346,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -46768,7 +47004,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -47723,7 +47963,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -48031,7 +48275,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -48047,6 +48295,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -48082,7 +48335,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -50736,7 +50993,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -52368,7 +52629,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -52676,7 +52941,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -52692,6 +52961,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -52727,7 +53001,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -55381,7 +55659,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -56367,7 +56649,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -56675,7 +56961,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -56691,6 +56981,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -56726,7 +57021,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -59380,7 +59679,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -60596,7 +60899,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -60904,7 +61211,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -60920,6 +61231,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -60955,7 +61271,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -63609,7 +63929,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -64260,6 +64584,10 @@ "editors_count": 12345, "is_channel_space": false, "linked_channel_id": "C00000000", + "thumb_360_gif": "https://www.example.com/", + "thumb_480_gif": "https://www.example.com/", + "deanimate": "https://www.example.com/", + "deanimate_gif": "https://www.example.com/", "attachments": [ { "msg_subtype": "", @@ -64899,7 +65227,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -65207,7 +65539,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -65223,6 +65559,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -65258,7 +65599,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -67912,7 +68257,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -68867,7 +69216,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -69175,7 +69528,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -69191,6 +69548,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -69226,7 +69588,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -71880,7 +72246,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -73512,7 +73882,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -73820,7 +74194,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -73836,6 +74214,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -73871,7 +74254,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -76525,7 +76912,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -77511,7 +77902,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -77819,7 +78214,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -77835,6 +78234,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -77870,7 +78274,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -80524,7 +80932,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -81488,7 +81900,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -83803,6 +84219,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -83973,6 +84394,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -84133,6 +84558,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { diff --git a/json-logs/samples/api/search.files.json b/json-logs/samples/api/search.files.json index 2052fa931..2d9e2cd72 100644 --- a/json-logs/samples/api/search.files.json +++ b/json-logs/samples/api/search.files.json @@ -202,6 +202,10 @@ "editors_count": 12345, "is_channel_space": false, "linked_channel_id": "C00000000", + "thumb_360_gif": "https://www.example.com/", + "thumb_480_gif": "https://www.example.com/", + "deanimate": "https://www.example.com/", + "deanimate_gif": "https://www.example.com/", "attachments": [ { "msg_subtype": "", @@ -841,7 +845,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1149,7 +1157,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1165,6 +1177,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1200,7 +1217,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -3854,7 +3875,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -4809,7 +4834,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -5117,7 +5146,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -5133,6 +5166,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -5168,7 +5206,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -7822,7 +7864,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -9454,7 +9500,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -9762,7 +9812,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -9778,6 +9832,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -9813,7 +9872,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -12467,7 +12530,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -13453,7 +13520,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -13761,7 +13832,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -13777,6 +13852,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -13812,7 +13892,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -16466,7 +16550,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -17430,7 +17518,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -19745,6 +19837,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -19915,6 +20012,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -20075,6 +20176,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { diff --git a/json-logs/samples/api/search.messages.json b/json-logs/samples/api/search.messages.json index 2f1cae589..d53a8e326 100644 --- a/json-logs/samples/api/search.messages.json +++ b/json-logs/samples/api/search.messages.json @@ -694,7 +694,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1002,7 +1006,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1018,6 +1026,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1053,7 +1066,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -3707,7 +3724,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -4662,7 +4683,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -4970,7 +4995,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -4986,6 +5015,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -5021,7 +5055,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -7675,7 +7713,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -9307,7 +9349,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -9615,7 +9661,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -9631,6 +9681,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -9666,7 +9721,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -12320,7 +12379,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -13306,7 +13369,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -13614,7 +13681,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -13630,6 +13701,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -13665,7 +13741,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -16319,7 +16399,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -17283,7 +17367,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -19598,6 +19686,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -19768,6 +19861,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -19928,6 +20025,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -20615,7 +20716,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -20923,7 +21028,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -20939,6 +21048,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -20974,7 +21088,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -23628,7 +23746,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -24583,7 +24705,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -24891,7 +25017,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -24907,6 +25037,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -24942,7 +25077,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -27596,7 +27735,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -29228,7 +29371,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -29536,7 +29683,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -29552,6 +29703,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -29587,7 +29743,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -32241,7 +32401,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -33227,7 +33391,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -33535,7 +33703,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -33551,6 +33723,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -33586,7 +33763,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -36240,7 +36421,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -37204,7 +37389,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -39519,6 +39708,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -39689,6 +39883,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -39849,6 +40047,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -40431,7 +40633,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -42746,6 +42952,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -42916,6 +43127,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -43076,6 +43291,10 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + }, "option_groups": [ { "label": { @@ -43754,7 +43973,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -44062,7 +44285,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -44078,6 +44305,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -44113,7 +44345,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -46767,7 +47003,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -47722,7 +47962,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -48030,7 +48274,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -48046,6 +48294,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -48081,7 +48334,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -50735,7 +50992,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -52367,7 +52628,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -52675,7 +52940,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -52691,6 +52960,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -52726,7 +53000,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -55380,7 +55658,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -56366,7 +56648,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -56674,7 +56960,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -56690,6 +56980,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -56725,7 +57020,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -59379,7 +59678,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -60595,7 +60898,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -60903,7 +61210,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -60919,6 +61230,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -60954,7 +61270,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { @@ -63608,7 +63928,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } }, { diff --git a/json-logs/samples/api/views.open.json b/json-logs/samples/api/views.open.json index 339c88669..47a72c56d 100644 --- a/json-logs/samples/api/views.open.json +++ b/json-logs/samples/api/views.open.json @@ -2342,7 +2342,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, "dispatch_action": false, "hint": { @@ -3104,7 +3108,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -3412,7 +3420,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -3428,6 +3440,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -3484,7 +3501,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], diff --git a/json-logs/samples/api/views.publish.json b/json-logs/samples/api/views.publish.json index 339c88669..47a72c56d 100644 --- a/json-logs/samples/api/views.publish.json +++ b/json-logs/samples/api/views.publish.json @@ -2342,7 +2342,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, "dispatch_action": false, "hint": { @@ -3104,7 +3108,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -3412,7 +3420,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -3428,6 +3440,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -3484,7 +3501,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], diff --git a/json-logs/samples/api/views.push.json b/json-logs/samples/api/views.push.json index 339c88669..47a72c56d 100644 --- a/json-logs/samples/api/views.push.json +++ b/json-logs/samples/api/views.push.json @@ -2342,7 +2342,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, "dispatch_action": false, "hint": { @@ -3104,7 +3108,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -3412,7 +3420,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -3428,6 +3440,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -3484,7 +3501,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], diff --git a/json-logs/samples/api/views.update.json b/json-logs/samples/api/views.update.json index 339c88669..47a72c56d 100644 --- a/json-logs/samples/api/views.update.json +++ b/json-logs/samples/api/views.update.json @@ -2342,7 +2342,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, "dispatch_action": false, "hint": { @@ -3104,7 +3108,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -3412,7 +3420,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -3428,6 +3440,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -3484,7 +3501,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], diff --git a/json-logs/samples/app-backend/interactive-components/BlockActionPayload.json b/json-logs/samples/app-backend/interactive-components/BlockActionPayload.json index 37fdd0455..e7bf429a6 100644 --- a/json-logs/samples/app-backend/interactive-components/BlockActionPayload.json +++ b/json-logs/samples/app-backend/interactive-components/BlockActionPayload.json @@ -361,7 +361,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -552,7 +556,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -568,6 +576,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -603,7 +616,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], diff --git a/json-logs/samples/app-backend/interactive-components/MessageShortcutPayload.json b/json-logs/samples/app-backend/interactive-components/MessageShortcutPayload.json index 66759fb32..119bdf173 100644 --- a/json-logs/samples/app-backend/interactive-components/MessageShortcutPayload.json +++ b/json-logs/samples/app-backend/interactive-components/MessageShortcutPayload.json @@ -330,7 +330,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -521,7 +525,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -537,6 +545,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -572,7 +585,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], diff --git a/json-logs/samples/events/AppMentionPayload.json b/json-logs/samples/events/AppMentionPayload.json index 7413188bf..127a56fb1 100644 --- a/json-logs/samples/events/AppMentionPayload.json +++ b/json-logs/samples/events/AppMentionPayload.json @@ -362,7 +362,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -553,7 +557,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -569,6 +577,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -604,7 +617,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], diff --git a/json-logs/samples/events/MessageBotPayload.json b/json-logs/samples/events/MessageBotPayload.json index 214befe08..e632d02ff 100644 --- a/json-logs/samples/events/MessageBotPayload.json +++ b/json-logs/samples/events/MessageBotPayload.json @@ -355,7 +355,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -546,7 +550,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -562,6 +570,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -597,7 +610,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], diff --git a/json-logs/samples/events/MessageChangedPayload.json b/json-logs/samples/events/MessageChangedPayload.json index a022ae5ae..eb0a31887 100644 --- a/json-logs/samples/events/MessageChangedPayload.json +++ b/json-logs/samples/events/MessageChangedPayload.json @@ -371,7 +371,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -562,7 +566,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -578,6 +586,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -613,7 +626,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], @@ -1089,7 +1106,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -1280,7 +1301,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -1296,6 +1321,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -1331,7 +1361,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], diff --git a/json-logs/samples/events/MessageDeletedPayload.json b/json-logs/samples/events/MessageDeletedPayload.json index c0662b59d..2afdde2b3 100644 --- a/json-logs/samples/events/MessageDeletedPayload.json +++ b/json-logs/samples/events/MessageDeletedPayload.json @@ -358,7 +358,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -549,7 +553,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -565,6 +573,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -600,7 +613,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], diff --git a/json-logs/samples/events/MessageEkmAccessDeniedPayload.json b/json-logs/samples/events/MessageEkmAccessDeniedPayload.json index cd0cb4740..a10329728 100644 --- a/json-logs/samples/events/MessageEkmAccessDeniedPayload.json +++ b/json-logs/samples/events/MessageEkmAccessDeniedPayload.json @@ -348,7 +348,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -539,7 +543,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -555,6 +563,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -590,7 +603,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], diff --git a/json-logs/samples/events/MessageFileSharePayload.json b/json-logs/samples/events/MessageFileSharePayload.json index e83f53885..05d2e8dcf 100644 --- a/json-logs/samples/events/MessageFileSharePayload.json +++ b/json-logs/samples/events/MessageFileSharePayload.json @@ -345,7 +345,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -536,7 +540,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -552,6 +560,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -587,7 +600,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], diff --git a/json-logs/samples/events/MessagePayload.json b/json-logs/samples/events/MessagePayload.json index 52b0ab878..5c19bb9a4 100644 --- a/json-logs/samples/events/MessagePayload.json +++ b/json-logs/samples/events/MessagePayload.json @@ -362,7 +362,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -553,7 +557,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -569,6 +577,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -604,7 +617,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], diff --git a/json-logs/samples/events/MessageRepliedPayload.json b/json-logs/samples/events/MessageRepliedPayload.json index 010ac2155..0d1b5a8ab 100644 --- a/json-logs/samples/events/MessageRepliedPayload.json +++ b/json-logs/samples/events/MessageRepliedPayload.json @@ -357,7 +357,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -548,7 +552,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -564,6 +572,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -599,7 +612,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], diff --git a/json-logs/samples/events/MessageThreadBroadcastPayload.json b/json-logs/samples/events/MessageThreadBroadcastPayload.json index 2fa8ef454..7bbd8ff05 100644 --- a/json-logs/samples/events/MessageThreadBroadcastPayload.json +++ b/json-logs/samples/events/MessageThreadBroadcastPayload.json @@ -416,7 +416,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } }, { "type": "overflow", @@ -607,7 +611,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } ], "block_id": "" @@ -623,6 +631,11 @@ "image_width": 123, "image_height": 123, "image_bytes": 123, + "is_animated": false, + "slack_file": { + "id": "", + "url": "" + }, "alt_text": "", "title": { "type": "plain_text", @@ -658,7 +671,11 @@ "fallback": "", "image_width": 123, "image_height": 123, - "image_bytes": 123 + "image_bytes": 123, + "slack_file": { + "id": "", + "url": "" + } } } ], diff --git a/pom.xml b/pom.xml index dcd5f43bf..33d83e93e 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT pom Java Slack SDK Project diff --git a/slack-api-client-kotlin-extension/pom.xml b/slack-api-client-kotlin-extension/pom.xml index 55f76f7f4..a7f2d56e9 100644 --- a/slack-api-client-kotlin-extension/pom.xml +++ b/slack-api-client-kotlin-extension/pom.xml @@ -5,11 +5,11 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT slack-api-client-kotlin-extension - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/slack-api-client/pom.xml b/slack-api-client/pom.xml index 131887c31..4a3382121 100644 --- a/slack-api-client/pom.xml +++ b/slack-api-client/pom.xml @@ -6,11 +6,11 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT slack-api-client - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar @@ -19,9 +19,9 @@ see https://github.com/slackapi/java-slack-sdk/issues/919#issuecomment-1022822962 --> 1.20 - 1.5.4 - 5.0.2 - 1.0.12 + 1.5.5 + 5.1.0 + 1.1.0 diff --git a/slack-api-client/src/main/java/com/slack/api/audit/impl/AsyncRateLimitExecutor.java b/slack-api-client/src/main/java/com/slack/api/audit/impl/AsyncRateLimitExecutor.java index 5ed683d30..7dfd026e2 100644 --- a/slack-api-client/src/main/java/com/slack/api/audit/impl/AsyncRateLimitExecutor.java +++ b/slack-api-client/src/main/java/com/slack/api/audit/impl/AsyncRateLimitExecutor.java @@ -65,7 +65,7 @@ public CompletableFuture execute( return CompletableFuture.supplyAsync(() -> { String messageId = messageIdGenerator.generate(); addMessageId(teamId, methodName, messageId); - initCurrentQueueSizeStatsIfAbsent(teamId, methodName); + syncCurrentQueueSizeStats(teamId, methodName); if (NO_TOKEN_METHOD_NAMES.contains(methodName) || teamId == null) { return runWithoutQueue(teamId, methodName, methodsSupplier); } else { @@ -80,9 +80,9 @@ public CompletableFuture execute( }, executorService); } - private void initCurrentQueueSizeStatsIfAbsent(String teamId, String methodNameWithSuffix) { + private void syncCurrentQueueSizeStats(String teamId, String methodNameWithSuffix) { if (teamId != null) { - metricsDatastore.setCurrentQueueSize(config.getExecutorName(), teamId, methodNameWithSuffix, 0); + metricsDatastore.updateCurrentQueueSize(config.getExecutorName(), teamId, methodNameWithSuffix); } } diff --git a/slack-api-client/src/main/java/com/slack/api/meta/SlackApiClientLibraryVersion.java b/slack-api-client/src/main/java/com/slack/api/meta/SlackApiClientLibraryVersion.java index 852bc0ab4..96fd3bb19 100644 --- a/slack-api-client/src/main/java/com/slack/api/meta/SlackApiClientLibraryVersion.java +++ b/slack-api-client/src/main/java/com/slack/api/meta/SlackApiClientLibraryVersion.java @@ -5,7 +5,7 @@ private SlackApiClientLibraryVersion() { } public static final String get() { - return "1.37.1-SNAPSHOT"; + return "1.38.1-SNAPSHOT"; } } diff --git a/slack-api-client/src/main/java/com/slack/api/methods/impl/AsyncMethodsRateLimiter.java b/slack-api-client/src/main/java/com/slack/api/methods/impl/AsyncMethodsRateLimiter.java index 48f8e43d0..5f44f4643 100644 --- a/slack-api-client/src/main/java/com/slack/api/methods/impl/AsyncMethodsRateLimiter.java +++ b/slack-api-client/src/main/java/com/slack/api/methods/impl/AsyncMethodsRateLimiter.java @@ -1,5 +1,6 @@ package com.slack.api.methods.impl; +import com.slack.api.methods.Methods; import com.slack.api.methods.MethodsConfig; import com.slack.api.methods.MethodsCustomRateLimitResolver; import com.slack.api.methods.MethodsRateLimits; @@ -7,6 +8,7 @@ import com.slack.api.rate_limits.WaitTime; import com.slack.api.rate_limits.WaitTimeCalculator; import com.slack.api.rate_limits.metrics.MetricsDatastore; +import com.slack.api.rate_limits.metrics.RequestPace; import lombok.extern.slf4j.Slf4j; import java.util.Optional; @@ -19,6 +21,7 @@ public class AsyncMethodsRateLimiter implements RateLimiter { private final MetricsDatastore metricsDatastore; private final MethodsCustomRateLimitResolver customRateLimitResolver; private final WaitTimeCalculator waitTimeCalculator; + private final String executorName; public MetricsDatastore getMetricsDatastore() { return metricsDatastore; @@ -28,10 +31,17 @@ public AsyncMethodsRateLimiter(MethodsConfig config) { this.metricsDatastore = config.getMetricsDatastore(); this.customRateLimitResolver = config.getCustomRateLimitResolver(); this.waitTimeCalculator = new MethodsWaitTimeCalculator(config); + this.executorName = config.getExecutorName(); } @Override public WaitTime acquireWaitTime(String teamId, String methodName) { + Optional rateLimitedEpochMillis = waitTimeCalculator + .getRateLimitedMethodRetryEpochMillis(executorName, teamId, methodName); + if (rateLimitedEpochMillis.isPresent()) { + long millisToWait = rateLimitedEpochMillis.get() - System.currentTimeMillis(); + return new WaitTime(millisToWait, RequestPace.RateLimited); + } return waitTimeCalculator.calculateWaitTime( teamId, methodName, @@ -57,6 +67,14 @@ public int getAllowedRequestsForChatPostMessagePerMinute(String teamId, String c @Override public WaitTime acquireWaitTimeForChatPostMessage(String teamId, String channel) { + // See MethodsClientImpl#buildMethodNameAndSuffix() for the consistency of this logic + String methodName = Methods.CHAT_POST_MESSAGE + "_" + channel; + Optional rateLimitedEpochMillis = waitTimeCalculator + .getRateLimitedMethodRetryEpochMillis(executorName, teamId, methodName); + if (rateLimitedEpochMillis.isPresent()) { + long millisToWait = rateLimitedEpochMillis.get() - System.currentTimeMillis(); + return new WaitTime(millisToWait, RequestPace.RateLimited); + } return waitTimeCalculator.calculateWaitTimeForChatPostMessage( teamId, channel, diff --git a/slack-api-client/src/main/java/com/slack/api/methods/impl/AsyncRateLimitExecutor.java b/slack-api-client/src/main/java/com/slack/api/methods/impl/AsyncRateLimitExecutor.java index db3e5c03f..90b87cf84 100644 --- a/slack-api-client/src/main/java/com/slack/api/methods/impl/AsyncRateLimitExecutor.java +++ b/slack-api-client/src/main/java/com/slack/api/methods/impl/AsyncRateLimitExecutor.java @@ -73,7 +73,7 @@ public CompletableFuture execute( String messageId = messageIdGenerator.generate(); String methodNameWithSuffix = toMethodNameWithSuffix(methodName, params); addMessageId(teamId, methodNameWithSuffix, messageId); - initCurrentQueueSizeStatsIfAbsent(teamId, methodNameWithSuffix); + syncCurrentQueueSizeStats(teamId, methodNameWithSuffix); return enqueueThenRun( messageId, teamId, @@ -85,9 +85,9 @@ public CompletableFuture execute( }, executorService); } - private void initCurrentQueueSizeStatsIfAbsent(String teamId, String methodNameWithSuffix) { + private void syncCurrentQueueSizeStats(String teamId, String methodNameWithSuffix) { if (teamId != null) { - metricsDatastore.setCurrentQueueSize(config.getExecutorName(), teamId, methodNameWithSuffix, 0); + metricsDatastore.updateCurrentQueueSize(config.getExecutorName(), teamId, methodNameWithSuffix); } } diff --git a/slack-api-client/src/main/java/com/slack/api/rate_limits/metrics/impl/BaseMemoryMetricsDatastore.java b/slack-api-client/src/main/java/com/slack/api/rate_limits/metrics/impl/BaseMemoryMetricsDatastore.java index 68ea1ae19..79e45366e 100644 --- a/slack-api-client/src/main/java/com/slack/api/rate_limits/metrics/impl/BaseMemoryMetricsDatastore.java +++ b/slack-api-client/src/main/java/com/slack/api/rate_limits/metrics/impl/BaseMemoryMetricsDatastore.java @@ -264,13 +264,6 @@ public void updateCurrentQueueSize(String executorName, String teamId, String me @Override public void setCurrentQueueSize(String executorName, String teamId, String methodName, Integer size) { if (this.isStatsEnabled()) { - CopyOnWriteArrayList messageIds = getOrCreateMessageIds(executorName, teamId, methodName); - Integer totalSize = messageIds.size(); - RateLimitQueue queue = getRateLimitQueue(executorName, teamId); - if (queue != null) { - totalSize += queue.getCurrentActiveQueueSize(methodName); - } - getOrCreateTeamLiveStats(executorName, teamId).getCurrentQueueSize().put(methodName, totalSize); getOrCreateTeamLiveStats(executorName, teamId).getCurrentQueueSize().put(methodName, size); } } diff --git a/slack-api-client/src/main/java/com/slack/api/scim/impl/AsyncRateLimitExecutor.java b/slack-api-client/src/main/java/com/slack/api/scim/impl/AsyncRateLimitExecutor.java index 55ae758b5..dd2bdef3a 100644 --- a/slack-api-client/src/main/java/com/slack/api/scim/impl/AsyncRateLimitExecutor.java +++ b/slack-api-client/src/main/java/com/slack/api/scim/impl/AsyncRateLimitExecutor.java @@ -62,7 +62,7 @@ public CompletableFuture execute( return CompletableFuture.supplyAsync(() -> { String messageId = messageIdGenerator.generate(); addMessageId(teamId, endpointName, messageId); - initCurrentQueueSizeStatsIfAbsent(teamId, endpointName); + syncCurrentQueueSizeStats(teamId, endpointName); if (NO_TOKEN_METHOD_NAMES.contains(endpointName) || teamId == null) { return runWithoutQueue(teamId, endpointName, methodsSupplier); } else { @@ -77,14 +77,9 @@ public CompletableFuture execute( }, executorService); } - private void initCurrentQueueSizeStatsIfAbsent(String teamId, SCIMEndpointName endpointName) { + private void syncCurrentQueueSizeStats(String teamId, SCIMEndpointName endpointName) { if (teamId != null) { - metricsDatastore.setCurrentQueueSize( - config.getExecutorName(), - teamId, - endpointName.name(), - 0 - ); + metricsDatastore.updateCurrentQueueSize(config.getExecutorName(), teamId, endpointName.name()); } } diff --git a/slack-api-client/src/main/java/com/slack/api/scim2/impl/AsyncRateLimitExecutor.java b/slack-api-client/src/main/java/com/slack/api/scim2/impl/AsyncRateLimitExecutor.java index ac7fb8931..9602b9754 100644 --- a/slack-api-client/src/main/java/com/slack/api/scim2/impl/AsyncRateLimitExecutor.java +++ b/slack-api-client/src/main/java/com/slack/api/scim2/impl/AsyncRateLimitExecutor.java @@ -62,7 +62,7 @@ public CompletableFuture execute( return CompletableFuture.supplyAsync(() -> { String messageId = messageIdGenerator.generate(); addMessageId(teamId, endpointName, messageId); - initCurrentQueueSizeStatsIfAbsent(teamId, endpointName); + syncCurrentQueueSizeStats(teamId, endpointName); if (NO_TOKEN_METHOD_NAMES.contains(endpointName) || teamId == null) { return runWithoutQueue(teamId, endpointName, methodsSupplier); } else { @@ -77,14 +77,9 @@ public CompletableFuture execute( }, executorService); } - private void initCurrentQueueSizeStatsIfAbsent(String teamId, SCIM2EndpointName endpointName) { + private void syncCurrentQueueSizeStats(String teamId, SCIM2EndpointName endpointName) { if (teamId != null) { - metricsDatastore.setCurrentQueueSize( - config.getExecutorName(), - teamId, - endpointName.name(), - 0 - ); + metricsDatastore.updateCurrentQueueSize(config.getExecutorName(), teamId, endpointName.name()); } } diff --git a/slack-api-client/src/test/java/test_locally/api/MethodsTest.java b/slack-api-client/src/test/java/test_locally/api/MethodsTest.java index e5e2ca5e5..4c1e603fd 100644 --- a/slack-api-client/src/test/java/test_locally/api/MethodsTest.java +++ b/slack-api-client/src/test/java/test_locally/api/MethodsTest.java @@ -19,8 +19,8 @@ public class MethodsTest { public void verifyTheCoverage() { // https://api.slack.com/methods // var methodNames = [].slice.call(document.getElementsByClassName('apiReferenceFilterableList__listItemLink')).map(e => e.href.replace("https://api.slack.com/methods/", ""));console.log(methodNames.toString());console.log(methodNames.length); - // 260 endpoints as of September 6, 2023 - String methods = "admin.analytics.getFile,admin.apps.activities.list,admin.apps.approve,admin.apps.clearResolution,admin.apps.restrict,admin.apps.uninstall,admin.apps.approved.list,admin.apps.config.lookup,admin.apps.config.set,admin.apps.requests.cancel,admin.apps.requests.list,admin.apps.restricted.list,admin.audit.anomaly.allow.getItem,admin.audit.anomaly.allow.updateItem,admin.auth.policy.assignEntities,admin.auth.policy.getEntities,admin.auth.policy.removeEntities,admin.barriers.create,admin.barriers.delete,admin.barriers.list,admin.barriers.update,admin.conversations.archive,admin.conversations.bulkArchive,admin.conversations.bulkDelete,admin.conversations.bulkMove,admin.conversations.convertToPrivate,admin.conversations.convertToPublic,admin.conversations.create,admin.conversations.delete,admin.conversations.disconnectShared,admin.conversations.getConversationPrefs,admin.conversations.getCustomRetention,admin.conversations.getTeams,admin.conversations.invite,admin.conversations.lookup,admin.conversations.removeCustomRetention,admin.conversations.rename,admin.conversations.search,admin.conversations.setConversationPrefs,admin.conversations.setCustomRetention,admin.conversations.setTeams,admin.conversations.unarchive,admin.conversations.ekm.listOriginalConnectedChannelInfo,admin.conversations.restrictAccess.addGroup,admin.conversations.restrictAccess.listGroups,admin.conversations.restrictAccess.removeGroup,admin.emoji.add,admin.emoji.addAlias,admin.emoji.list,admin.emoji.remove,admin.emoji.rename,admin.functions.list,admin.functions.permissions.lookup,admin.functions.permissions.set,admin.inviteRequests.approve,admin.inviteRequests.deny,admin.inviteRequests.list,admin.inviteRequests.approved.list,admin.inviteRequests.denied.list,admin.roles.addAssignments,admin.roles.listAssignments,admin.roles.removeAssignments,admin.teams.admins.list,admin.teams.create,admin.teams.list,admin.teams.owners.list,admin.teams.settings.info,admin.teams.settings.setDefaultChannels,admin.teams.settings.setDescription,admin.teams.settings.setDiscoverability,admin.teams.settings.setIcon,admin.teams.settings.setName,admin.usergroups.addChannels,admin.usergroups.addTeams,admin.usergroups.listChannels,admin.usergroups.removeChannels,admin.users.assign,admin.users.invite,admin.users.list,admin.users.remove,admin.users.setAdmin,admin.users.setExpiration,admin.users.setOwner,admin.users.setRegular,admin.users.session.clearSettings,admin.users.session.getSettings,admin.users.session.invalidate,admin.users.session.list,admin.users.session.reset,admin.users.session.resetBulk,admin.users.session.setSettings,admin.users.unsupportedVersions.export,admin.workflows.collaborators.add,admin.workflows.collaborators.remove,admin.workflows.permissions.lookup,admin.workflows.search,admin.workflows.unpublish,api.test,apps.activities.list,apps.auth.external.delete,apps.auth.external.get,apps.connections.open,apps.datastore.delete,apps.datastore.get,apps.datastore.put,apps.datastore.query,apps.datastore.update,apps.event.authorizations.list,apps.manifest.create,apps.manifest.delete,apps.manifest.export,apps.manifest.update,apps.manifest.validate,apps.uninstall,auth.revoke,auth.test,auth.teams.list,bookmarks.add,bookmarks.edit,bookmarks.list,bookmarks.remove,bots.info,calls.add,calls.end,calls.info,calls.update,calls.participants.add,calls.participants.remove,chat.delete,chat.deleteScheduledMessage,chat.getPermalink,chat.meMessage,chat.postEphemeral,chat.postMessage,chat.scheduleMessage,chat.unfurl,chat.update,chat.scheduledMessages.list,conversations.acceptSharedInvite,conversations.approveSharedInvite,conversations.archive,conversations.close,conversations.create,conversations.declineSharedInvite,conversations.history,conversations.info,conversations.invite,conversations.inviteShared,conversations.join,conversations.kick,conversations.leave,conversations.list,conversations.listConnectInvites,conversations.mark,conversations.members,conversations.open,conversations.rename,conversations.replies,conversations.setPurpose,conversations.setTopic,conversations.unarchive,dialog.open,dnd.endDnd,dnd.endSnooze,dnd.info,dnd.setSnooze,dnd.teamInfo,emoji.list,files.comments.delete,files.completeUploadExternal,files.delete,files.getUploadURLExternal,files.info,files.list,files.revokePublicURL,files.sharedPublicURL,files.upload,files.remote.add,files.remote.info,files.remote.list,files.remote.remove,files.remote.share,files.remote.update,functions.workflows.steps.list,functions.workflows.steps.responses.export,migration.exchange,oauth.access,oauth.v2.access,oauth.v2.exchange,openid.connect.token,openid.connect.userInfo,pins.add,pins.list,pins.remove,reactions.add,reactions.get,reactions.list,reactions.remove,reminders.add,reminders.complete,reminders.delete,reminders.info,reminders.list,rtm.connect,rtm.start,search.all,search.files,search.messages,stars.add,stars.list,stars.remove,team.accessLogs,team.billableInfo,team.info,team.integrationLogs,team.billing.info,team.preferences.list,team.profile.get,tooling.tokens.rotate,usergroups.create,usergroups.disable,usergroups.enable,usergroups.list,usergroups.update,usergroups.users.list,usergroups.users.update,users.conversations,users.deletePhoto,users.getPresence,users.identity,users.info,users.list,users.lookupByEmail,users.setActive,users.setPhoto,users.setPresence,users.profile.get,users.profile.set,views.open,views.publish,views.push,views.update,workflows.stepCompleted,workflows.stepFailed,workflows.updateStep,channels.create,channels.info,channels.invite,channels.mark,groups.create,groups.info,groups.invite,groups.mark,groups.open,im.list,im.mark,im.open,mpim.list,mpim.mark,mpim.open"; + // 262 endpoints as of January 24, 2024 + String methods = "admin.analytics.getFile,admin.apps.activities.list,admin.apps.approve,admin.apps.clearResolution,admin.apps.restrict,admin.apps.uninstall,admin.apps.approved.list,admin.apps.config.lookup,admin.apps.config.set,admin.apps.requests.cancel,admin.apps.requests.list,admin.apps.restricted.list,admin.audit.anomaly.allow.getItem,admin.audit.anomaly.allow.updateItem,admin.auth.policy.assignEntities,admin.auth.policy.getEntities,admin.auth.policy.removeEntities,admin.barriers.create,admin.barriers.delete,admin.barriers.list,admin.barriers.update,admin.conversations.archive,admin.conversations.bulkArchive,admin.conversations.bulkDelete,admin.conversations.bulkMove,admin.conversations.convertToPrivate,admin.conversations.convertToPublic,admin.conversations.create,admin.conversations.delete,admin.conversations.disconnectShared,admin.conversations.getConversationPrefs,admin.conversations.getCustomRetention,admin.conversations.getTeams,admin.conversations.invite,admin.conversations.lookup,admin.conversations.removeCustomRetention,admin.conversations.rename,admin.conversations.search,admin.conversations.setConversationPrefs,admin.conversations.setCustomRetention,admin.conversations.setTeams,admin.conversations.unarchive,admin.conversations.ekm.listOriginalConnectedChannelInfo,admin.conversations.restrictAccess.addGroup,admin.conversations.restrictAccess.listGroups,admin.conversations.restrictAccess.removeGroup,admin.emoji.add,admin.emoji.addAlias,admin.emoji.list,admin.emoji.remove,admin.emoji.rename,admin.functions.list,admin.functions.permissions.lookup,admin.functions.permissions.set,admin.inviteRequests.approve,admin.inviteRequests.deny,admin.inviteRequests.list,admin.inviteRequests.approved.list,admin.inviteRequests.denied.list,admin.roles.addAssignments,admin.roles.listAssignments,admin.roles.removeAssignments,admin.teams.admins.list,admin.teams.create,admin.teams.list,admin.teams.owners.list,admin.teams.settings.info,admin.teams.settings.setDefaultChannels,admin.teams.settings.setDescription,admin.teams.settings.setDiscoverability,admin.teams.settings.setIcon,admin.teams.settings.setName,admin.usergroups.addChannels,admin.usergroups.addTeams,admin.usergroups.listChannels,admin.usergroups.removeChannels,admin.users.assign,admin.users.invite,admin.users.list,admin.users.remove,admin.users.setAdmin,admin.users.setExpiration,admin.users.setOwner,admin.users.setRegular,admin.users.session.clearSettings,admin.users.session.getSettings,admin.users.session.invalidate,admin.users.session.list,admin.users.session.reset,admin.users.session.resetBulk,admin.users.session.setSettings,admin.users.unsupportedVersions.export,admin.workflows.collaborators.add,admin.workflows.collaborators.remove,admin.workflows.permissions.lookup,admin.workflows.search,admin.workflows.unpublish,api.test,apps.activities.list,apps.auth.external.delete,apps.auth.external.get,apps.connections.open,apps.uninstall,apps.datastore.delete,apps.datastore.get,apps.datastore.put,apps.datastore.query,apps.datastore.update,apps.event.authorizations.list,apps.manifest.create,apps.manifest.delete,apps.manifest.export,apps.manifest.update,apps.manifest.validate,auth.revoke,auth.test,auth.teams.list,bookmarks.add,bookmarks.edit,bookmarks.list,bookmarks.remove,bots.info,calls.add,calls.end,calls.info,calls.update,calls.participants.add,calls.participants.remove,chat.delete,chat.deleteScheduledMessage,chat.getPermalink,chat.meMessage,chat.postEphemeral,chat.postMessage,chat.scheduleMessage,chat.unfurl,chat.update,chat.scheduledMessages.list,conversations.acceptSharedInvite,conversations.approveSharedInvite,conversations.archive,conversations.close,conversations.create,conversations.declineSharedInvite,conversations.history,conversations.info,conversations.invite,conversations.inviteShared,conversations.join,conversations.kick,conversations.leave,conversations.list,conversations.listConnectInvites,conversations.mark,conversations.members,conversations.open,conversations.rename,conversations.replies,conversations.setPurpose,conversations.setTopic,conversations.unarchive,dialog.open,dnd.endDnd,dnd.endSnooze,dnd.info,dnd.setSnooze,dnd.teamInfo,emoji.list,files.completeUploadExternal,files.delete,files.getUploadURLExternal,files.info,files.list,files.revokePublicURL,files.sharedPublicURL,files.upload,files.comments.delete,files.remote.add,files.remote.info,files.remote.list,files.remote.remove,files.remote.share,files.remote.update,functions.completeError,functions.completeSuccess,functions.workflows.steps.list,functions.workflows.steps.responses.export,migration.exchange,oauth.access,oauth.v2.access,oauth.v2.exchange,openid.connect.token,openid.connect.userInfo,pins.add,pins.list,pins.remove,reactions.add,reactions.get,reactions.list,reactions.remove,reminders.add,reminders.complete,reminders.delete,reminders.info,reminders.list,rtm.connect,rtm.start,search.all,search.files,search.messages,stars.add,stars.list,stars.remove,team.accessLogs,team.billableInfo,team.info,team.integrationLogs,team.billing.info,team.preferences.list,team.profile.get,tooling.tokens.rotate,usergroups.create,usergroups.disable,usergroups.enable,usergroups.list,usergroups.update,usergroups.users.list,usergroups.users.update,users.conversations,users.deletePhoto,users.getPresence,users.identity,users.info,users.list,users.lookupByEmail,users.setActive,users.setPhoto,users.setPresence,users.profile.get,users.profile.set,views.open,views.publish,views.push,views.update,workflows.stepCompleted,workflows.stepFailed,workflows.updateStep,channels.create,channels.info,channels.invite,channels.mark,groups.create,groups.info,groups.invite,groups.mark,groups.open,im.list,im.mark,im.open,mpim.list,mpim.mark,mpim.open"; final List existingMethods = new ArrayList<>(); for (Field f : Methods.class.getDeclaredFields()) { int modifiers = f.getModifiers(); diff --git a/slack-api-client/src/test/java/test_locally/api/methods/RateLimitedTest.java b/slack-api-client/src/test/java/test_locally/api/methods/RateLimitedTest.java new file mode 100644 index 000000000..b2cf8765d --- /dev/null +++ b/slack-api-client/src/test/java/test_locally/api/methods/RateLimitedTest.java @@ -0,0 +1,142 @@ +package test_locally.api.methods; + +import com.slack.api.Slack; +import com.slack.api.SlackConfig; +import com.slack.api.methods.Methods; +import com.slack.api.methods.MethodsClient; +import com.slack.api.methods.SlackApiException; +import com.slack.api.rate_limits.metrics.MetricsDatastore; +import lombok.extern.slf4j.Slf4j; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import util.MockSlackApiServer; + +import java.util.concurrent.TimeUnit; + +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.greaterThan; +import static util.MockSlackApi.RateLimitedToken; + +@Slf4j +public class RateLimitedTest { + + MockSlackApiServer server = new MockSlackApiServer(); + String executorName; + SlackConfig config; + Slack slack; + + @Before + public void setup() throws Exception { + server.start(); + executorName = RateLimitedTest.class.getCanonicalName() + "_" + System.currentTimeMillis(); + config = new SlackConfig(); + config.getMethodsConfig().setExecutorName(executorName); + config.synchronizeMetricsDatabases(); + config.setMethodsEndpointUrlPrefix(server.getMethodsEndpointPrefix()); + + slack = Slack.getInstance(config); + } + + @After + public void tearDown() throws Exception { + server.stop(); + } + + @Test + public void sync() throws Exception { + MethodsClient client = slack.methods(RateLimitedToken); + try { + client.usersList(r -> r); + } catch (SlackApiException e) { + assertThat(e.getResponse().code(), is(429)); + assertThat(e.getResponse().header("Retry-After"), is("3")); + MetricsDatastore datastore = config.getMethodsConfig().getMetricsDatastore(); + log.debug("stats: {}", datastore.getAllStats()); + + Integer numOfRequests = datastore.getNumberOfLastMinuteRequests( + executorName, + "T1234567", + Methods.USERS_LIST); + assertThat(numOfRequests, is(1)); + + Long millisToResume = datastore.getRateLimitedMethodRetryEpochMillis( + executorName, + "T1234567", + Methods.USERS_LIST); + assertThat(millisToResume, is(greaterThan(0L))); + } + } + + @Test + public void async() throws Exception { + try { + slack.methodsAsync(RateLimitedToken).usersList(r -> r).get(2, TimeUnit.SECONDS); + } catch (Exception ee) { + MetricsDatastore datastore = config.getMethodsConfig().getMetricsDatastore(); + log.debug("stats: {}", datastore.getAllStats()); + + Integer numOfRequests = datastore.getNumberOfLastMinuteRequests( + executorName, + "T1234567", + Methods.USERS_LIST); + assertThat(numOfRequests, is(1)); + + Long millisToResume = datastore.getRateLimitedMethodRetryEpochMillis( + executorName, + "T1234567", + Methods.USERS_LIST); + assertThat(millisToResume, is(greaterThan(0L))); + } + } + + @Test + public void chatPostMessageSync() throws Exception { + MethodsClient client = slack.methods(RateLimitedToken); + try { + client.chatPostMessage(r -> r.text("Hey!").channel("C12345")); + } catch (SlackApiException e) { + assertThat(e.getResponse().code(), is(429)); + assertThat(e.getResponse().header("Retry-After"), is("3")); + MetricsDatastore datastore = config.getMethodsConfig().getMetricsDatastore(); + log.debug("stats: {}", datastore.getAllStats()); + + Integer numOfRequests = datastore.getNumberOfLastMinuteRequests( + executorName, + "T1234567", + Methods.CHAT_POST_MESSAGE + "_C12345"); + assertThat(numOfRequests, is(1)); + + Long millisToResume = datastore.getRateLimitedMethodRetryEpochMillis( + executorName, + "T1234567", + Methods.CHAT_POST_MESSAGE + "_C12345"); + assertThat(millisToResume, is(greaterThan(0L))); + } + } + + @Test + public void chatPostMessageAsync() throws Exception { + try { + slack.methodsAsync(RateLimitedToken) + .chatPostMessage(r -> r.text("Hey!").channel("C12345")) + .get(2, TimeUnit.SECONDS); + } catch (Exception ee) { + MetricsDatastore datastore = config.getMethodsConfig().getMetricsDatastore(); + log.debug("stats: {}", datastore.getAllStats()); + + Integer numOfRequests = datastore.getNumberOfLastMinuteRequests( + executorName, + "T1234567", + Methods.CHAT_POST_MESSAGE + "_C12345"); + assertThat(numOfRequests, is(1)); + + Long millisToResume = datastore.getRateLimitedMethodRetryEpochMillis( + executorName, + "T1234567", + Methods.CHAT_POST_MESSAGE + "_C12345"); + assertThat(millisToResume, is(greaterThan(0L))); + } + } +} diff --git a/slack-api-client/src/test/java/test_with_remote_apis/methods/BlockKit_Test.java b/slack-api-client/src/test/java/test_with_remote_apis/methods/BlockKit_Test.java index 85189bb75..b41e2a885 100644 --- a/slack-api-client/src/test/java/test_with_remote_apis/methods/BlockKit_Test.java +++ b/slack-api-client/src/test/java/test_with_remote_apis/methods/BlockKit_Test.java @@ -1,17 +1,22 @@ package test_with_remote_apis.methods; import com.slack.api.Slack; +import com.slack.api.methods.MethodsClient; import com.slack.api.methods.SlackApiException; import com.slack.api.methods.request.chat.ChatPostEphemeralRequest; import com.slack.api.methods.request.chat.ChatPostMessageRequest; import com.slack.api.methods.request.chat.ChatUpdateRequest; import com.slack.api.methods.request.conversations.ConversationsMembersRequest; +import com.slack.api.methods.response.chat.ChatDeleteResponse; import com.slack.api.methods.response.chat.ChatPostEphemeralResponse; import com.slack.api.methods.response.chat.ChatPostMessageResponse; import com.slack.api.methods.response.chat.ChatUpdateResponse; import com.slack.api.methods.response.conversations.ConversationsListResponse; +import com.slack.api.methods.response.conversations.ConversationsOpenResponse; +import com.slack.api.methods.response.files.FilesUploadV2Response; import com.slack.api.model.Conversation; import com.slack.api.model.ConversationType; +import com.slack.api.model.block.Blocks; import com.slack.api.model.block.DividerBlock; import com.slack.api.model.block.LayoutBlock; import com.slack.api.model.block.SectionBlock; @@ -24,14 +29,14 @@ import org.junit.Before; import org.junit.Test; +import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import static com.slack.api.model.block.Blocks.*; -import static com.slack.api.model.block.composition.BlockCompositions.markdownText; -import static com.slack.api.model.block.composition.BlockCompositions.plainText; +import static com.slack.api.model.block.composition.BlockCompositions.*; import static com.slack.api.model.block.element.BlockElements.*; import static org.hamcrest.CoreMatchers.*; import static org.hamcrest.MatcherAssert.assertThat; @@ -365,4 +370,46 @@ public void richTextMessage() throws Exception { ); assertThat(response.getError(), is(nullValue())); } + + @Test + public void imageBlockWithSlackFile() throws Exception { + loadRandomChannel(); + MethodsClient client = slack.methods(botToken); + + File file = new File("src/test/resources/slack-logo.gif"); + FilesUploadV2Response uploadResult = client.filesUploadV2(r -> r + .file(file) + .title("test") + // Share the file in a public channel first + .channel(randomChannelId) + ); + assertThat(uploadResult.getError(), is(nullValue())); + + String fileId = uploadResult.getFile().getId(); + String fileUrl = uploadResult.getFile().getPermalink(); + com.slack.api.model.File.Shares shares = uploadResult.getFile().getShares(); + while (shares == null || shares.getPublicChannels() == null || shares.getPublicChannels().isEmpty()) { + Thread.sleep(300L); + shares = client.filesInfo(r -> r.file(fileId)).getFile().getShares(); + } + // Workaround to delete the previous message to share the file + String ts = shares.getPublicChannels().get(randomChannelId).get(0).getTs(); + ChatDeleteResponse deletion = client.chatDelete(r -> r.channel(randomChannelId).ts(ts)); + assertThat(deletion.getError(), is(nullValue())); + Thread.sleep(500L); + + ChatPostMessageResponse response = client.chatPostMessage(r -> r + .channel(randomChannelId) + .text("Here is the file!") + .blocks(asBlocks( + Blocks.image(i -> i.slackFile(slackFile(sf -> sf.id(fileId))).altText("alt")), + Blocks.divider(), + Blocks.section(s -> s + .text(plainText("Here is the file!")) + .accessory(BlockElements.image(i -> i.slackFile(slackFile(sf -> sf.url(fileUrl))).altText("alt")) + )) + )) + ); + assertThat(response.getError(), is(nullValue())); + } } diff --git a/slack-api-client/src/test/java/util/MockSlackApi.java b/slack-api-client/src/test/java/util/MockSlackApi.java index f510143c1..1d02d0c3b 100644 --- a/slack-api-client/src/test/java/util/MockSlackApi.java +++ b/slack-api-client/src/test/java/util/MockSlackApi.java @@ -23,6 +23,7 @@ public class MockSlackApi extends HttpServlet { public static final String ValidFunctionToken = "xwfp-this-is-valid"; public static final String ExpiredToken = "xoxb-this-is-expired"; public static final String InvalidToken = "xoxb-this-is-INVALID"; + public static final String RateLimitedToken = "xoxb-this-is-ratelimited"; private final FileReader reader = new FileReader("../json-logs/samples/api/"); @@ -44,6 +45,28 @@ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws I resp.getWriter().write("{\"ok\":false,\"error\":\"not_authed\"}"); resp.setContentType("application/json"); return; + } else if (authorizationHeader.startsWith("Bearer " + RateLimitedToken)) { + if (methodName.equals("auth.test")) { + String body = "{\n" + + " \"ok\": true,\n" + + " \"url\": \"https://java-slack-sdk-test.slack.com/\",\n" + + " \"team\": \"java-slack-sdk-test\",\n" + + " \"user\": \"test_user\",\n" + + " \"team_id\": \"T1234567\",\n" + + " \"user_id\": \"U1234567\",\n" + + " \"bot_id\": \"B12345678\",\n" + + " \"enterprise_id\": \"E12345678\"\n" + + "}"; + resp.setStatus(200); + resp.getWriter().write(body); + resp.setContentType("application/json"); + return; + } + resp.setStatus(429); + resp.getWriter().write("{\"ok\":false,\"error\":\"ratelimited\"}"); + resp.setHeader("Retry-After", "3"); + resp.setContentType("application/json"); + return; } else if (!authorizationHeader.startsWith("Bearer " + ValidToken) && !authorizationHeader.startsWith("Bearer " + ValidFunctionToken)) { resp.setStatus(200); diff --git a/slack-api-client/src/test/java/util/sample_json_generation/SampleObjects.java b/slack-api-client/src/test/java/util/sample_json_generation/SampleObjects.java index 19c53eb75..f9d356300 100644 --- a/slack-api-client/src/test/java/util/sample_json_generation/SampleObjects.java +++ b/slack-api-client/src/test/java/util/sample_json_generation/SampleObjects.java @@ -90,6 +90,7 @@ private static List initBlocks() { ImageBlock imageBlock = initProperties(ImageBlock.builder().build()); imageBlock.setTitle(textObject); + imageBlock.setSlackFile(initProperties(SlackFileObject.builder().build())); blocks.addAll( Arrays.asList( @@ -149,7 +150,9 @@ private static List initBlocks() { initProperties(multiUsersSelect(u -> u.initialUsers(Arrays.asList("")).confirm(Confirm))) ); public static List ContextBlockElements = asContextElements( - initProperties(ImageElement.builder().build()) + initProperties(ImageElement.builder() + .slackFile(initProperties(SlackFileObject.builder().build())) + .build()) ); public static List SectionBlockFieldElements = asSectionFields( initProperties(plainText(pt -> pt)), diff --git a/slack-api-model-kotlin-extension/pom.xml b/slack-api-model-kotlin-extension/pom.xml index 93dd82fad..11ef2d612 100644 --- a/slack-api-model-kotlin-extension/pom.xml +++ b/slack-api-model-kotlin-extension/pom.xml @@ -6,11 +6,11 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT slack-api-model-kotlin-extension - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/ImageBlockBuilder.kt b/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/ImageBlockBuilder.kt index 1334df90c..0dd0380c1 100644 --- a/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/ImageBlockBuilder.kt +++ b/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/ImageBlockBuilder.kt @@ -2,6 +2,8 @@ package com.slack.api.model.kotlin_extension.block import com.slack.api.model.block.ImageBlock import com.slack.api.model.block.composition.PlainTextObject +import com.slack.api.model.block.composition.SlackFileObject +import com.slack.api.model.kotlin_extension.block.composition.SlackFileObjectBuilder @BlockLayoutBuilder class ImageBlockBuilder : Builder { @@ -12,6 +14,8 @@ class ImageBlockBuilder : Builder { private var imageWidth: Int? = null private var imageHeight: Int? = null private var imageBytes: Int? = null + private var isAnimated: Boolean? = null + private var slackFile: SlackFileObject? = null private var altText: String? = null /** @@ -83,6 +87,18 @@ class ImageBlockBuilder : Builder { altText = text } + fun isAnimated(isAnimated: Boolean) { + this.isAnimated = isAnimated + } + + fun slackFile(slackFile: SlackFileObject) { + this.slackFile = slackFile + } + + fun slackFile(builder: SlackFileObjectBuilder.() -> Unit) { + this.slackFile = SlackFileObjectBuilder().apply(builder).build() + } + override fun build(): ImageBlock { return ImageBlock.builder() .fallback(fallback) @@ -90,9 +106,11 @@ class ImageBlockBuilder : Builder { .imageWidth(imageWidth) .imageHeight(imageHeight) .imageBytes(imageBytes) + .slackFile(slackFile) .altText(altText) .blockId(blockId) .title(title) + .isAnimated(isAnimated) .build() } } \ No newline at end of file diff --git a/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/composition/SlackFileObjectBuilder.kt b/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/composition/SlackFileObjectBuilder.kt new file mode 100644 index 000000000..c3e7bbb47 --- /dev/null +++ b/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/composition/SlackFileObjectBuilder.kt @@ -0,0 +1,28 @@ +package com.slack.api.model.kotlin_extension.block.composition + +import com.slack.api.model.block.composition.SlackFileObject +import com.slack.api.model.kotlin_extension.block.BlockLayoutBuilder +import com.slack.api.model.kotlin_extension.block.Builder +import com.slack.api.model.kotlin_extension.block.composition.dsl.SlackFileObjectDsl + +// same name with the object + "Builder" suffix +@BlockLayoutBuilder +class SlackFileObjectBuilder() : Builder, SlackFileObjectDsl { + private var id: String? = null + private var url: String? = null + + override fun id(id: String) { + this.id = id + } + + override fun url(url: String) { + this.url = url + } + + override fun build(): SlackFileObject { + return SlackFileObject.builder() + .id(id) + .url(url) + .build() + } +} \ No newline at end of file diff --git a/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/composition/dsl/SlackFileObjectDsl.kt b/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/composition/dsl/SlackFileObjectDsl.kt new file mode 100644 index 000000000..7c1471bbf --- /dev/null +++ b/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/composition/dsl/SlackFileObjectDsl.kt @@ -0,0 +1,9 @@ +package com.slack.api.model.kotlin_extension.block.composition.dsl + +import com.slack.api.model.kotlin_extension.block.BlockLayoutBuilder + +@BlockLayoutBuilder +interface SlackFileObjectDsl { + fun id(id: String) + fun url(url: String) +} \ No newline at end of file diff --git a/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/element/container/MultiBlockElementContainer.kt b/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/element/container/MultiBlockElementContainer.kt index 4d40b3426..fe989b206 100644 --- a/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/element/container/MultiBlockElementContainer.kt +++ b/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/element/container/MultiBlockElementContainer.kt @@ -1,5 +1,6 @@ package com.slack.api.model.kotlin_extension.block.element.container +import com.slack.api.model.block.composition.SlackFileObject import com.slack.api.model.block.element.BlockElement import com.slack.api.model.block.element.ImageElement import com.slack.api.model.kotlin_extension.block.element.* @@ -53,7 +54,8 @@ class MultiBlockElementContainer : BlockElementDsl { fallback: String?, imageWidth: Int?, imageHeight: Int?, - imageBytes: Int? + imageBytes: Int?, + slackFile: SlackFileObject? ) { underlying += ImageElement.builder() .imageUrl(imageUrl) @@ -62,6 +64,7 @@ class MultiBlockElementContainer : BlockElementDsl { .imageWidth(imageWidth) .imageHeight(imageHeight) .imageBytes(imageBytes) + .slackFile(slackFile) .build() } diff --git a/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/element/container/SingleBlockElementContainer.kt b/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/element/container/SingleBlockElementContainer.kt index 1c8abc175..8dfee4577 100644 --- a/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/element/container/SingleBlockElementContainer.kt +++ b/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/element/container/SingleBlockElementContainer.kt @@ -1,5 +1,6 @@ package com.slack.api.model.kotlin_extension.block.element.container +import com.slack.api.model.block.composition.SlackFileObject import com.slack.api.model.block.element.BlockElement import com.slack.api.model.block.element.ImageElement import com.slack.api.model.kotlin_extension.block.element.* @@ -53,7 +54,8 @@ class SingleBlockElementContainer() : BlockElementDsl { fallback: String?, imageWidth: Int?, imageHeight: Int?, - imageBytes: Int? + imageBytes: Int?, + slackFile: SlackFileObject? ) { underlying = ImageElement.builder() .imageUrl(imageUrl) @@ -62,6 +64,7 @@ class SingleBlockElementContainer() : BlockElementDsl { .imageWidth(imageWidth) .imageHeight(imageHeight) .imageBytes(imageBytes) + .slackFile(slackFile) .build() } diff --git a/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/element/dsl/BlockElementDsl.kt b/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/element/dsl/BlockElementDsl.kt index 55470c3d2..f2dadcd9d 100644 --- a/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/element/dsl/BlockElementDsl.kt +++ b/slack-api-model-kotlin-extension/src/main/kotlin/com/slack/api/model/kotlin_extension/block/element/dsl/BlockElementDsl.kt @@ -1,5 +1,6 @@ package com.slack.api.model.kotlin_extension.block.element.dsl +import com.slack.api.model.block.composition.SlackFileObject import com.slack.api.model.kotlin_extension.block.BlockLayoutBuilder import com.slack.api.model.kotlin_extension.block.element.ButtonElementBuilder import com.slack.api.model.kotlin_extension.block.element.OverflowMenuElementBuilder @@ -52,6 +53,8 @@ interface BlockElementDsl : BlockElementInputDsl { fallback: String? = null, imageWidth: Int? = null, imageHeight: Int? = null, - imageBytes: Int? = null + imageBytes: Int? = null, + slackFile: SlackFileObject? = null, ) + } diff --git a/slack-api-model-kotlin-extension/src/test/kotlin/test_locally/block/FileAndImageTest.kt b/slack-api-model-kotlin-extension/src/test/kotlin/test_locally/block/FileAndImageTest.kt index 1f197a235..c331635b3 100644 --- a/slack-api-model-kotlin-extension/src/test/kotlin/test_locally/block/FileAndImageTest.kt +++ b/slack-api-model-kotlin-extension/src/test/kotlin/test_locally/block/FileAndImageTest.kt @@ -23,6 +23,16 @@ class FileAndImageTest { imageBytes(360000) } divider() + image { + blockId("option2img") + title("Option :two:", emoji = true) + altText("Outside shot of second option") + slackFile { + url("https://some-fake-site.com/option2-fake.jpg") + } + fallback("Picture of option 2") + } + divider() file(externalId = "floorplan-f4k3-2bed1bathA", blockId = "option1floorplan", source = FileSource.REMOTE) file(externalId = "floorplan-f4k3r-2bed1bathB", blockId = "option1floorplanalternate", source = "remote") } @@ -47,6 +57,23 @@ class FileAndImageTest { { "type": "divider" }, + { + "type": "image", + "fallback": "Picture of option 2", + "slack_file": { + "url": "https://some-fake-site.com/option2-fake.jpg" + }, + "alt_text": "Outside shot of second option", + "title": { + "type": "plain_text", + "text": "Option :two:", + "emoji": true + }, + "block_id": "option2img" + }, + { + "type": "divider" + }, { "type": "file", "block_id": "option1floorplan", diff --git a/slack-api-model/pom.xml b/slack-api-model/pom.xml index 699fba06e..83541b8ac 100644 --- a/slack-api-model/pom.xml +++ b/slack-api-model/pom.xml @@ -6,11 +6,11 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT slack-api-model - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar diff --git a/slack-api-model/src/main/java/com/slack/api/meta/SlackApiModelLibraryVersion.java b/slack-api-model/src/main/java/com/slack/api/meta/SlackApiModelLibraryVersion.java index 1084e6344..8327005f1 100644 --- a/slack-api-model/src/main/java/com/slack/api/meta/SlackApiModelLibraryVersion.java +++ b/slack-api-model/src/main/java/com/slack/api/meta/SlackApiModelLibraryVersion.java @@ -5,7 +5,7 @@ private SlackApiModelLibraryVersion() { } public static final String get() { - return "1.37.1-SNAPSHOT"; + return "1.38.1-SNAPSHOT"; } } diff --git a/slack-api-model/src/main/java/com/slack/api/model/MatchedItem.java b/slack-api-model/src/main/java/com/slack/api/model/MatchedItem.java index f5b54e088..65d308747 100644 --- a/slack-api-model/src/main/java/com/slack/api/model/MatchedItem.java +++ b/slack-api-model/src/main/java/com/slack/api/model/MatchedItem.java @@ -232,6 +232,7 @@ public void setPublic(boolean isPublic) { private String score; private boolean topFile; + private String deanimate; private String deanimateGif; private String channelActionsTs; diff --git a/slack-api-model/src/main/java/com/slack/api/model/block/ImageBlock.java b/slack-api-model/src/main/java/com/slack/api/model/block/ImageBlock.java index 2baea1a51..0d80a4e2e 100644 --- a/slack-api-model/src/main/java/com/slack/api/model/block/ImageBlock.java +++ b/slack-api-model/src/main/java/com/slack/api/model/block/ImageBlock.java @@ -1,6 +1,7 @@ package com.slack.api.model.block; import com.slack.api.model.block.composition.PlainTextObject; +import com.slack.api.model.block.composition.SlackFileObject; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -22,6 +23,9 @@ public class ImageBlock implements LayoutBlock { private Integer imageWidth; private Integer imageHeight; private Integer imageBytes; + private Boolean isAnimated; + + private SlackFileObject slackFile; private String altText; private PlainTextObject title; diff --git a/slack-api-model/src/main/java/com/slack/api/model/block/composition/BlockCompositions.java b/slack-api-model/src/main/java/com/slack/api/model/block/composition/BlockCompositions.java index ad87ee74d..a6345a551 100644 --- a/slack-api-model/src/main/java/com/slack/api/model/block/composition/BlockCompositions.java +++ b/slack-api-model/src/main/java/com/slack/api/model/block/composition/BlockCompositions.java @@ -76,5 +76,11 @@ public static DispatchActionConfig dispatchActionConfig(ModelConfigurator configurator) { + return configurator.configure(SlackFileObject.builder()).build(); + } + } diff --git a/slack-api-model/src/main/java/com/slack/api/model/block/composition/SlackFileObject.java b/slack-api-model/src/main/java/com/slack/api/model/block/composition/SlackFileObject.java new file mode 100644 index 000000000..820faf7ae --- /dev/null +++ b/slack-api-model/src/main/java/com/slack/api/model/block/composition/SlackFileObject.java @@ -0,0 +1,33 @@ +package com.slack.api.model.block.composition; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * Defines an object containing Slack file information to be used in an image block or image element. + *

+ * This file must be an image, and you must provide either the URL or ID. + * In addition, the user posting these blocks must have access to this file. + * If both are provided then the payload will be rejected. + * Currently only png, jpg, jpeg, and gif Slack image files are supported. + *

+ * @see document + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SlackFileObject { + + /** + * Slack ID of the file. + */ + private String id; + + /** + * This URL can be the url_private or the permalink of the Slack file. + */ + private String url; +} diff --git a/slack-api-model/src/main/java/com/slack/api/model/block/element/ImageElement.java b/slack-api-model/src/main/java/com/slack/api/model/block/element/ImageElement.java index 1de89e270..a3add4714 100644 --- a/slack-api-model/src/main/java/com/slack/api/model/block/element/ImageElement.java +++ b/slack-api-model/src/main/java/com/slack/api/model/block/element/ImageElement.java @@ -1,6 +1,7 @@ package com.slack.api.model.block.element; import com.slack.api.model.block.ContextBlockElement; +import com.slack.api.model.block.composition.SlackFileObject; import lombok.*; /** @@ -29,4 +30,6 @@ public class ImageElement extends BlockElement implements ContextBlockElement { private Integer imageWidth; private Integer imageHeight; private Integer imageBytes; + + private SlackFileObject slackFile; } diff --git a/slack-api-model/src/test/java/test_locally/api/model/block/BlocksTest.java b/slack-api-model/src/test/java/test_locally/api/model/block/BlocksTest.java index 9c45f3d3d..597d85446 100644 --- a/slack-api-model/src/test/java/test_locally/api/model/block/BlocksTest.java +++ b/slack-api-model/src/test/java/test_locally/api/model/block/BlocksTest.java @@ -4,6 +4,7 @@ import com.slack.api.model.block.Blocks; import com.slack.api.model.block.ContextBlock; import com.slack.api.model.block.ContextBlockElement; +import com.slack.api.model.block.composition.SlackFileObject; import com.slack.api.model.block.composition.WorkflowObject; import com.slack.api.model.block.element.BlockElement; import org.junit.Test; @@ -65,6 +66,14 @@ public void testCall() { @Test public void testImage() { assertThat(Blocks.image(i -> i.blockId("block-id").imageUrl("https://www.example.com/")), is(notNullValue())); + assertThat(Blocks.image(i -> i + .blockId("block-id") + .slackFile(SlackFileObject.builder().id("F111111").build()) + ), is(notNullValue())); + assertThat(Blocks.image(i -> i + .blockId("block-id") + .slackFile(SlackFileObject.builder().url("https://files.slack.com/files-pri/T111-F111/foo.png").build()) + ), is(notNullValue())); } @Test diff --git a/slack-app-backend/pom.xml b/slack-app-backend/pom.xml index 724383747..7c334affe 100644 --- a/slack-app-backend/pom.xml +++ b/slack-app-backend/pom.xml @@ -6,11 +6,11 @@ com.slack.api slack-sdk-parent - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT slack-app-backend - 1.37.1-SNAPSHOT + 1.38.1-SNAPSHOT jar