files_upload_v2 returns internal_error when using markdown in blocks
Maintainer antworten meist innerhalb von 5 Tagen
Dieses Issue hat noch niemand übernommen.
- #1796 von @codomposer — ohne Merge geschlossen
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 42/100
Rechercherichtung
Beginne bei AsyncWebClient.files_upload_v2 und verfolge die an files.completeUploadExternal gesendete Anfrage, wobei du den markdown-Block mit Blöcken vergleichst, die erfolgreich verarbeitet werden. Reproduziere die Anfrage aus dem Issue und ermittle, ob der SDK-Payload oder die Slack API dafür verantwortlich ist. Als abgeschlossen gilt die Arbeit, wenn die Ursache isoliert wurde und das Issue entweder einen verifizierten Fix oder eine dokumentierte Einschränkung des Upstream enthält.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
files_upload_v2 returns internal_error when using markdown in blocks parameter
Reproducible in:
slack-bolt==1.25.0
slack-sdk==3.36.0
Python 3.13.5
ProductName: macOS
ProductVersion: 15.5
BuildVersion: 24F74
Darwin Kernel Version 24.5.0
The Slack SDK version
slack-bolt==1.25.0
slack-sdk==3.36.0
Python runtime version
Python 3.13.5
OS info
ProductName: macOS
ProductVersion: 15.5
BuildVersion: 24F74
Darwin Kernel Version 24.5.0: Tue Apr 22 19:53:27 PDT 2025; root:xnu-11417.121.6~2/RELEASE_ARM64_T6041
Steps to reproduce:
1. Code Example
from slack_sdk.web.async_client import AsyncWebClient
import json
# Initialize client
client = AsyncWebClient(token="xoxb-your-token")
# Prepare parameters
channel_id = "D099T7G7VHD" # DM channel
blocks = [{"type": "markdown", "text": "_**Haim Raitsev** posted a new message_\\n> test"}]
files = [{"id": "F09J0L8TDRQ", "title": "screenshot.png"}]
# Attempt to upload with blocks
response = await client.files_upload_v2(
channel=channel_id,
file_uploads=[
{
"content": b"<file_bytes_here>",
"filename": "screenshot.png",
"title": "screenshot.png"
}
],
blocks=json.dumps(blocks)
)
2. Response
{
"ok": False,
"error": "internal_error"
}
Expected result:
The file should be uploaded successfully with the rich text blocks displayed in the message, as the underlying files.completeUploadExternal:
Actual result:
The API returns {"ok": false, "error": "internal_error"} without any additional error details.
Additional Context:
This issue is reproduced only when we have a new markdown block (https://docs.slack.dev/reference/block-kit/blocks/markdown-block/) when we use other blocks the message posted correctly.
files.completeUploadExternal API Call
HTTP Request
POST https://slack.com/api/files.completeUploadExternal HTTP/1.1
Host: slack.com
Authorization: Bearer xoxb-your-token-here
Content-Type: application/x-www-form-urlencoded
Request Details
Method: POST
URL: https://slack.com/api/files.completeUploadExternal
Headers:
Authorization: Bearer xoxb-your-token-here
Content-Type: application/x-www-form-urlencoded
Body (URL-encoded):
files=[{"id":"F09J0L8TDRQ","title":"screenshot.png"}]
channel_id=D099T7G7VHD
blocks=[{"type":"markdown","text":"_**Haim Raitsev** posted a new message_\\n> test"}]
Body Parameters Breakdown
| Parameter | Value | Description |
|---|---|---|
files |
[{"id":"F09J0L8TDRQ","title":"screenshot.png"}] |
JSON array of file objects (URL-encoded) |
channel_id |
D099T7G7VHD |
DM channel ID where file will be shared |
blocks |
[{"type":"markdown","text":"_**Haim Raitsev** posted a new message_\\n> test"}] |
JSON array of blocks (URL-encoded) |
Example using cURL
curl -X POST https://slack.com/api/files.completeUploadExternal \
-H "Authorization: Bearer xoxb-your-token-here" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode 'files=[{"id":"F09J0L8TDRQ","title":"screenshot.png"}]' \
--data-urlencode 'channel_id=D099T7G7VHD' \
--data-urlencode 'blocks=[{"type":"markdown","text":"_**Haim Raitsev** posted a new message_\\n> test"}]'
Error Response (Current Issue)
{
"ok": false,
"error": "internal_error"
}
Thank you for maintaining this excellent SDK!
- Vorherrschende Sprache
- Python
- Sterne
- 4k
- Forks
- 861
- Ø Merge
- 3 T. 17 Std.
- Gemergte PRs (30 T.)
- 11
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus slackapi/python-slack-sdk
-
auto-triage-stale needs info server-side-issue
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
slackapi/python-slack-sdk#1961 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 5 Tagen
-
auto-triage-skip discussion
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
slackapi/python-slack-sdk#1940 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 5 Tagen
-
chat_postMessage silently forwards thread_id to the API, so a threaded reply posts to the channelOffenauto-triage-skip enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
slackapi/python-slack-sdk#1923 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 5 Tagen
-
files_upload_v2 should respect the retry handlersEvtl. vergeben @DSeaStar hat das vor 60 Tagen übernommen. Offenauto-triage-skip bug python web-client
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 52/100
slackapi/python-slack-sdk#1853 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 5 Tagen
-
auto-triage-skip bug server-side-issue
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
slackapi/python-slack-sdk#1847 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 5 Tagen
Alle Issues in slackapi/python-slack-sdk
Ähnliche Issues
-
[Bug]: LangGraph Store sync put bypasses namespace validationEvtl. vergeben @ktz03 hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
volcengine/OpenViking#6050 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug]: Streamed /v1/chat/completions sends unredacted agent error text (keys) in the final chunkEvtl. vergeben @rodricksz4h5 hat das heute übernommen. Offenarea/streaming comp/gateway P2 type/security
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
NousResearch/hermes-agent#138245 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[oblt-aw][autodoc] Update user onboarding guide for mandatory trigger CODEOWNERS stepEvtl. vergeben @github-actions hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 1 Tag
-
correction metadata
Schwierigkeit 2/5 Unter einer Stunde Anfängerfreundlichkeit 68/100
acl-org/acl-anthology#10378 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
cloudtrail_multi_region_enabled_logging_management_events fails when the advanced event selector has a custom nameEvtl. vergeben @12YYCCYY16 hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
prowler-cloud/prowler#13033 ·
Maintainer antworten meist innerhalb von 1 Tag