Webhookを介してslackに投稿しようとしているhtmlテーブルがあります。 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>
いいえ、Slackメッセージに表を描く方法はないと思います。
Slackメッセージのフォーマットに使用できる他のオプションは次のとおりです。 https://api.slack.com/docs/formatting 。
Slackの Incoming Webhook メッセージが任意の形式(HTMLまたはMarkdown)のテーブルをサポートするかどうかを尋ねるSlackサポートへのチケットを開きました。
公式の答えは、Slackメッセージはテーブルをサポートしていません。
彼らはテーブルを生成し、それを画像として投稿することを提案しています。
また、彼らはそれを彼らのバックログに追加すると言った。
特にHTMLテーブルではありませんが、 console.table のようなパッケージを使用して、テーブルのデータを文字列変数に出力できます。次に、triple backticks
を使用して、スラックメッセージのテキストフィールドにテーブルを追加します。例えば:
const cTable = require('console.table');
const table = cTable.getTable([
{
name: 'foo',
age: 10
}, {
name: 'bar',
age: 20
}
]);
そして、スラックメッセージの添付ファイルの一部として:
const attachmentList = {
"title": "YOUR TITLE",
"text": 'HERE IS YOUR TABLE: : \n ```'+table+'```',
}
"fields" layout block を使用して、簡単な2列のテーブルをスラックで実行できるようになりました。
2列のテーブルを作成できます。
[
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*Name*"
},
{
"type": "mrkdwn",
"text": "*Email*"
},
{
"type": "plain_text",
"text": "Jeff Henderson",
"emoji": true
},
{
"type": "mrkdwn",
"text": "[email protected]"
},
{
"type": "plain_text",
"text": "Anne Polin",
"emoji": true
},
{
"type": "mrkdwn",
"text": "[email protected]"
}
]
}
]
あなたに与える:
または、フィールドスタイルに移動します。
[
{
"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": "[email protected]"
},
{
"type": "plain_text",
"text": "Mobile Phone",
"emoji": true
},
{
"type": "mrkdwn",
"text": "0451000000"
},
{
"type": "plain_text",
"text": "Work Phone",
"emoji": true
},
{
"type": "mrkdwn",
"text": "94550000"
}
]
}
]
生成されます: