2016-03-30 2 views
1

Как я могу опубликовать пользовательское сообщение JSON с форматированием & с отступом, используя неаккуратный webhook? Я использую nodejs приложениеПубликация пользовательского сообщения JSON на Slack с помощью Webhook

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

Ваш аргумент JsonMessage - это просто строка, поэтому она отправляется как таковая, чтобы провалиться. Я бы предложил отправить его через JSON.parse, чтобы преобразовать его в родные объекты JavaScript. Затем вы можете отправить его через форматтер, чтобы отформатировать его для вас. например

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