Add attachment_mention rich text element (currently parsed as RichTextUnknownElement, losing url and text)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- Medio día
- Aptitud para principiantes
- 75/100
Línea de trabajo
Start in GsonRichTextElementFactory, which has no case for attachment_mention and so falls back to RichTextUnknownElement, and follow the existing Canvas element as the pattern for a typed rich text element. Add an AttachmentMention model with url, text, app_id, entity_id, icon_url and the other fields in the issue's JSON sample, register it in the factory, then add a JSON parse test. Done when the sample message parses to the typed element and serializes back with its fields intact.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
Messages that contain an app-unfurled link (e.g. a Jira Cloud issue link) carry an attachment_mention element inside the rich_text block. GsonRichTextElementFactory has no case for it, so it is deserialized as RichTextUnknownElement. The SDK keeps only type; url, text and the other fields are lost. The element is documented here: https://docs.slack.dev/reference/block-kit/block-elements/attachment-mention-element
Reproduce
Fetch a message that contains a pasted Jira issue link:
GET https://slack.com/api/conversations.replies?channel=C…&ts=…&limit=1
Authorization: Bearer xoxb-…
The raw response contains:
{
"type": "rich_text",
"elements": [{
"type": "rich_text_section",
"elements": [
{ "type": "text", "text": "read this => " },
{
"type": "attachment_mention",
"url": "https://example.atlassian.net/browse/ABC-5",
"text": "Issue title",
"app_id": "A…",
"entity_id": "W:A…:…",
"icon_url": "https://product-integrations-cdn.atl-paas.net/jira-issuetype/large/new/task.png",
"icon_name": "brand-jira-filled",
"product_name": "Jira Cloud",
"channel_id": "C…",
"ts": "…"
}
]
}]
}
With slack-api-model 1.52.0 the element is parsed as RichTextUnknownElement and serializes back as {"type":"attachment_mention"}. message.text still contains <https://example.atlassian.net/browse/ABC-5|Issue title>, but nothing in blocks carries the link.
Expected
A typed RichTextSectionElement.AttachmentMention (url, text, app_id, entity_id, icon_url, ...) registered in GsonRichTextElementFactory, like Canvas.
Notes
slack_sdk(Python) 3.45.0 and@slack/types3.2.0 don't model it either. The Python SDK has an open draft PR: https://github.com/slackapi/python-slack-sdk/pull/1948- I'm happy to open a PR with the model class, the factory entry and a JSON parse test if this is something you'd accept.
Category (place an x in each of the [ ])
- bolt (Bolt for Java)
- bolt-{sub modules} (Bolt for Java - optional modules)
- slack-api-client (Slack API Clients)
- slack-api-model (Slack API Data Models)
- slack-api-*-kotlin-extension (Kotlin Extensions for Slack API Clients)
- slack-app-backend (The primitive layer of Bolt for Java)
Requirements
-
Please make sure if this topic is specific to this SDK. For general questions/issues about Slack API platform or its server-side, could you submit questions at https://my.slack.com/help/requests/new instead. 🙇
-
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you agree to those rules.
- Lenguaje dominante
- Java
- Estrellas
- 602
- Forks
- 235
- Merge medio
- 2 d 1 h
- PR fusionados (30 d)
- 7
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de slackapi/java-slack-sdk
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
slackapi/java-slack-sdk#1653 · 2 comentarios ·
-
Upgrade JettyPosiblemente ocupada @skrcode la tomó hace 45 días. Abiertoauto-triage-skip dependencies good first issue
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
slackapi/java-slack-sdk#1567 · 4 comentarios ·
-
auto-triage-skip discussion enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
slackapi/java-slack-sdk#1535 · 5 comentarios ·
-
Workflows, Slack Apps and formsAbiertoauto-triage-skip question untriaged
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
slackapi/java-slack-sdk#1528 · 7 comentarios ·
-
Update okhttp to 5.xAbiertoauto-triage-skip dependencies project:slack-api-client project:slack-app-backend
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
slackapi/java-slack-sdk#1500 · 11 comentarios · 1 reacción ·
Todos los issues de slackapi/java-slack-sdk
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
scylladb/scylla-cdc-source-connector#350 ·
Los mantenedores suelen responder en 1 día
-
agent:working documentation enhancement go:build lane:needs-decision
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Sanne/incus-spawn#1435 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
area:shuffle bug priority:high requires-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
apache/datafusion-comet#7062 ·
Los mantenedores suelen responder en 1 día
-
wait for review
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
enhancement good first issue up-for-grabs
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
AnikethTS/ChangeRadar#22 ·
Los mantenedores suelen responder en 1 día