懒散的webhook html表

Pun*_*cky 30 webhooks slack-api slack

我有一个html表,我试图通过webhook发布松弛.有没有办法发布html表松弛?下面是html代码 -

<!DOCTYPE html>
<html>
<head>
<title>HTML Tables</title>
</head>
<body>
<table border="1">
<tr>
<td>Row 1, Column 1</td>
<td>Row 1, Column 2</td>
</tr>
<tr>
<td>Row 2, Column 1</td>
<td>Row 2, Column 2</td>
</tr>
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Sah*_*she 35

我打开了Slack支持的一张票,询问Slack的Incoming Webhook消息是否支持任何形式的表格(HTML或Markdown).

官方的答案是Slack消息不支持表.

他们建议生成一个表并将其作为图像发布.

他们还说他们会把它添加到他们的积压中.

  • 将表格作为图像发布是一个糟糕的解决方案。它们妨碍辅助技术(例如盲人用户将无法阅读它们)并且无法被搜索。我希望 Slack 能够支持 Markdown 格式,就像它已经部分支持的那样,并且像许多其他在线工具(包括 GitHub 和 StackOverflow)一样。 (7认同)
  • 这实在是太尴尬了 (5认同)
  • 谢谢.我最终发送电子邮件到slack通道来获取格式化的表. (3认同)
  • 我猜仍处于积压状态 (2认同)

use*_*559 28

不,我不相信有任何方法可以在Slack消息中绘制表格.

以下是格式化Slack消息的其他可用选项:https://api.slack.com/docs/formatting.


小智 14

不是专门的html表,但是您可以使用像console.table这样的包将表的数据打印到字符串变量中.然后使用triple backticks在松弛消息的文本字段中添加表.例如:

const cTable = require('console.table');
const table = cTable.getTable([
  {
    name: 'foo',
    age: 10
  }, {
    name: 'bar',
    age: 20
  }
]);
Run Code Online (Sandbox Code Playgroud)

然后作为松弛消息附件的一部分:

const attachmentList = {
        "title": "YOUR TITLE",
        "text": 'HERE IS YOUR TABLE: : \n ```'+table+'```',
    }
Run Code Online (Sandbox Code Playgroud)

  • 好的。我喜欢这个解决方案。 (2认同)

Mic*_*per 8

不幸的是,表格似乎是 Slack 当前不支持的 Markdown 标准。

一个粗略的解决方法是在文本文本块中使用框绘图字符(前后三个反引号/反逗号,即```,在单独的行上)。

我偶尔会使用tablesgenerator.com来动态生成它们。

??????????????????????????
? Dog  ? Cat  ? Bird     ?
??????????????????????????
? Woof ? Meow ? Tweet    ?
??????????????????????????
? Fur  ? Fur  ? Feathers ?
??????????????????????????
Run Code Online (Sandbox Code Playgroud)

它们当然不漂亮,但与 Slack 明显推荐的粘贴图像不同,它们的内容可以被搜索,并且至少对于我的一些同事来说,在某种程度上使用辅助技术。


Avn*_*ner 7

现在,您可以使用“ fields” 布局块轻松地制作简单的两个列表。

您可以做两列表:

[
   {
        "type": "section",
        "fields": [
            {
                "type": "mrkdwn",
                "text": "*Name*"
            },
            {
                "type": "mrkdwn",
                "text": "*Email*"
            },
            {
                "type": "plain_text",
                "text": "Jeff Henderson",
                "emoji": true
            },
            {
                "type": "mrkdwn",
                "text": "jh@geemail.com"
            },
            {
                "type": "plain_text",
                "text": "Anne Polin",
                "emoji": true
            },
            {
                "type": "mrkdwn",
                "text": "ap@geemail.com"
            }

        ]
    }
]
Run Code Online (Sandbox Code Playgroud)

给你:

在此处输入图片说明

还是去田野风格:

[
    {
        "type": "section",
        "fields": [
            {
                "type": "plain_text",
                "text": "Name",
                "emoji": true
            },
            {
                "type": "mrkdwn",
                "text": "*Jeff Henderson*"
            },
            {
                "type": "plain_text",
                "text": "Email",
                "emoji": true
            },
            {
                "type": "mrkdwn",
                "text": "jh@geemail.com"
            },
            {
                "type": "plain_text",
                "text": "Mobile Phone",
                "emoji": true
            },
            {
                "type": "mrkdwn",
                "text": "0451000000"
            },
            {
                "type": "plain_text",
                "text": "Work Phone",
                "emoji": true
            },
            {
                "type": "mrkdwn",
                "text": "94550000"
            }

        ]
    }
]
Run Code Online (Sandbox Code Playgroud)

将产生:

在此处输入图片说明

  • 不幸的是,这限制了在字段数组中仅允许10个元素。只是以艰难的方式学习而已,但在这里也是如此:https://api.slack.com/reference/messaging/blocks (2认同)