markdown block type not supported when sending via WebhookClient / response_url
まだ誰も着手していません。
評価
調査の方向性
slack_sdk.webhook.WebhookClient.send() とその同期/非同期実装から始め、ブロックの処理を WebClient.chat_postMessage() と比較します。提供された markdown-block の例を両方のエンドポイントに対して実行し、レスポンスの挙動を確認します。WebhookClient が markdown ブロックタイプを一貫してサポートするか、エンドポイントの制限が明確に特定され、テストでカバーされれば完了です。
索引モデルが issue の本文から書いたものです。
説明
The markdown block type (introduced in Block Kit - Feb 2025, expanded in Mar 2026) works correctly when sent via WebClient.chat_postMessage, but returns a 500 error when sent via WebhookClient (i.e. slash command
response_url).
Reproducible example:
from slack_sdk.webhook import WebhookClient
from slack_sdk import WebClient
blocks = [
{
"type": "markdown",
"text": "## Heading\n\n| Col A | Col B |\n|---|---|\n| 1 | 2 |"
}
]
# ✅ Works — returns 200
client = WebClient(token="xoxb-...")
client.chat_postMessage(channel="#test", blocks=blocks, text="fallback")
# ❌ Fails — returns 500
webhook = WebhookClient("https://hooks.slack.com/commands/T.../...")
webhook.send(blocks=blocks)
Expected behavior: WebhookClient.send() should support the markdown block type, same as chat.postMessage.
Actual behavior: Slack's response_url endpoint returns HTTP 500 with no descriptive error body.
Context:
- slack_sdk version: 3.39.0
- Python version: 3.12.12
- This affects slash command responses where response_url is the standard reply mechanism
Category (place an x in each of the [ ])
- slack_sdk.web.WebClient (sync/async) (Web API client)
- slack_sdk.webhook.WebhookClient (sync/async) (Incoming Webhook, response_url sender)
- slack_sdk.models (UI component builders)
- slack_sdk.oauth (OAuth Flow Utilities)
- slack_sdk.socket_mode (Socket Mode client)
- slack_sdk.audit_logs (Audit Logs API client)
- slack_sdk.scim (SCIM API client)
- slack_sdk.rtm (RTM client)
- slack_sdk.signature (Request Signature Verifier)
Requirements
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.
- 主要言語
- Python
- スター
- 4k
- フォーク
- 857
- 平均マージ
- 22時間 21分
- マージ済み PR(30日)
- 16
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
slackapi/python-slack-sdk のほかの issue
-
needs info server-side-issue
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
slackapi/python-slack-sdk#1961 · コメント 3 件 ·
-
Use logger.isEnabledFor(logging.DEBUG) instead of logger.level <= logging.DEBUG for debug guards オープンauto-triage-skip bug
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
slackapi/python-slack-sdk#1957 ·
-
auto-triage-skip discussion
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
slackapi/python-slack-sdk#1940 · コメント 2 件 ·
-
chat_postMessage silently forwards thread_id to the API, so a threaded reply posts to the channel オープンauto-triage-skip enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
slackapi/python-slack-sdk#1923 · コメント 2 件 ·
-
auto-triage-skip bug socket-mode
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
slackapi/python-slack-sdk#1922 · コメント 2 件 ·
slackapi/python-slack-sdk の issue をすべて見る
似ている issue
-
bug confirmed issue
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
open-webui/open-webui#30750 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 90/100