Unclear support for `markdown_text` option.

Open
#579 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
ruby
Domain
api

Research direction

Start at lib/slack/web/api/endpoints/chat.rb around line 196 and inspect the chat_postMessage argument handling alongside the linked Slack API reference. Reproduce the requests with markdown_text alone and with both markdown_text and text; done means the client behavior and documented Slack constraints agree, with the resulting behavior covered or clearly documented.

Written by the indexing model from the issue text.

Description

bug?

I was attempting to send markdown_text ref to the chat_postMessage but am encountering some issues.

The reference docs indicate that when passing markdown_text, text should be omitted:

Accepts message text formatted in markdown. This argument should not be used in conjunction with blocks or text. Limit this field to 12,000 characters.

If I do so, eg. .chat_postMessage({ markdown_text: "*Hello*"}), an ArgumentError is raised as I haven't passed text.

https://github.com/slack-ruby/slack-ruby-client/blob/adfde852d1a40aaa05fc976164897ce83e0812d0/lib/slack/web/api/endpoints/chat.rb#L196

If I pass text and markdown_text, eg. .chat_postMessage({ markdown_text: "*Hello*", text: "*Hello*", mrkdwn: false}), the request goes through to the API but then fails with a Slack::Web::Api::Errors::MarkdownTextConflict error.

I believe the current workaround is to use Slack::Messages::Formatting.markdown or some other conversion process.

Is this an intentional gap in the API? Happy to raise a PR to amend if not.

Dominant language
Ruby
Stars
1.3k
Forks
222
Avg merge
1d 14h
Merged PRs (30d)
3

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from slack-ruby/slack-ruby-client

All issues in slack-ruby/slack-ruby-client

Similar issues

More Ruby issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.