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

标签 javascript json node.js webhooks slack

如何使用 slack webhook 发布带有格式和缩进的自定义 JSON 消息?我正在使用nodejs应用程序

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。

谢谢。

最佳答案

您的 JsonMessage 参数只是一个字符串,因此它会按原样发送到 slack。我建议通过 JSON.parse 发送它,将其转换为原生 JavaScript 对象。然后,您可以通过格式化程序发送它,以便为您正确格式化。例如

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

关于javascript - 使用 Webhook 在 Slack 上发布自定义 JSON 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36308618/

相关文章:

javascript - JavaScript 中有类似 mulitiSet 的东西吗?

javascript - 添加版本可变的模型,NodeJS

javascript - session 模型-创建日程方法(Sequelize)

java - PreAuthorize ("isAuthenticated()") 不适用于 RestController

java - Jackson 解串器 - 注入(inject) key :value pairs if not present in serialized data

javascript - 环回 IO OAuth 不起作用

javascript - 为什么我的 Node 应用程序在此 POST 请求中返回 404?

javascript - 使用相似的源代码加载多个 D3 map

javascript - 我收到警报错误的 js fiddle 配置

json - 学院/大学数据API