Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

files_upload_v2 returns internal_error when using markdown in blocks

Offen
#1,756 8 Kommentare 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
python
Bereich
api, backend

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

area:async auto-triage-skip bug server-side-issue web-client

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

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus slackapi/python-slack-sdk

Alle Issues in slackapi/python-slack-sdk

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.