プロさんのおうち   ~プログラムのサンプル置き場~


SlackのIncomingWebhookを使って通知する


Node.jsを利用してSlackにIncomingWebhookを利用した通知をしてみました。

標準モジュールのhttpsを利用しています。

AWS Lambda関数で通知を行ったソースはこちらを参照してください。

今回作成するプログラム

今回作成するのは、IncomingWebhookを利用したSlack通知プログラムです。

通知プログラムのソースコード

今回作成したプログラムは以下になります。


var url = require('url');
var https = require('https');

// 書き込みデータ
var postData = {
	channel: "通知チャンネル",
	username: "ユーザー名",
	text: "通知メッセージ"
};
// 送信するJSONを文字列に変換
var postDataString = JSON.stringify(postData);

// SlackのWebhook URL
var webhookUrl = url.parse("SlackのIncomingWebhook用URL");
// 接続オプション
var options = {
	hostname: webhookUrl.hostname,
	path: webhookUrl.path,
	port: 443,
	method: 'POST',
	headers: {
		'Content-Type': 'application/json',
		'Content-Length': postDataString.length
	}
}

// Slackにメッセージを送信
var req = https.request(options, (res) => {
	res.setEncoding('utf-8');

	res.on('data', (chunk) => {
		console.log(`BODY: ${chunk}`);
	});
	res.on('end', () => {
		console.log('No more data in response.');
	});
});

// 実際のデータ送信
req.write(postDataString)
req.end();
				

先に記載した通り、httpモジュールではなく、httpsモジュールで実装しています。

はじめはhttpモジュールで実装していてハマっていたので、実装する際は気を付けてみてください。

参考URL


メニューに戻る


CopyRight 2019 株式会社PUreatio