使用Webhook在Slack上发布自定义JSON消息

时间:2016-03-30 12:16:41

标签: javascript json node.js webhooks slack

如何发布带格式化的自定义JSON消息&使用松弛的webhook缩进?我正在使用nodejs app

var Slack = require('slack-node');
var JsonMessage = process.argv[2];

webhookUri = "https://hooks.slack.com/services/XXXX/xxxx/xxxxxxxx";

slack = new Slack();
slack.setWebhook(webhookUri);

var textmsg = '```' + JsonMessage + '```';

slack.webhook({
  channel: "#status",
  username: "Monitor Bot",
  icon_emoji: ":ghost:",
  text: textmsg
}, function(err, response) {
  console.log(response);
});

上面的代码有助于发送JSON,但它不是格式化的。它来自一个字符串。我希望JSON缩进。

谢谢。

1 个答案:

答案 0 :(得分:1)

你的JsonMessage参数只是一个字符串,因此它被发送为slack。我建议通过JSON.parse发送它以将其转换为本机JavaScript对象。然后,您可以通过格式化程序将其发送给您,以便为您正确格式化。 e.g。

var formatter = ('format-json');
var formattedJson = formatter.plain(JSON.parse(JsonMessage));