何かしらのメッセージをSlackにbotとして投稿する際に、準備することや書き方をメモがてら記載します
###準備
まだ、投稿したいSlackにbotなどを追加したことがない場合は、以下の手順を踏みます。
→すでにWebhook URLを発行済みの方はこちら
Slackにbotを追加するには【Webhook URL】というものが必要になります。
そのURLの発行・取得の方法をここで記載します。
①こちらにアクセスし上部の「管理」をクリック
②表示された画面の左メニューの「カスタムインテグレーション」をクリック
③その後、上部の検索窓で「incoming Webhook」と入力
④候補一番上に三角っぽいアイコンの「Incoming Webhook」というものが出てくるので、クリック
⑤表示された画面で「Slackに追加」をクリック(以下の画像のような画面です)
⑥その後、どのチャンネルに追加するかを設定します
この際テストであれば、一旦自分宛に届く様に設定してもよいと思います
また、投稿するチャンネルは後から変更できるので、安心して設定しましょう!
⑦チャンネルを設定したら、「Incoming Webhookの追加」をクリック
⑧次の画面で【Webhook URL】が赤字で表示されます 以下のようなURLです。
ここまでで、WebhookURLの取得は完了です。
では、これを使って実際に投稿をためしてみましょう。
###投稿してみる
既にWebhookを設定している方はこちらから、【Webhook URL】を取得してください。
実際にGASを利用利用してSlackに投稿できるようにしてみましょう!
まずこちらの画面にアクセスします。
普段はスプレッドシートやフォームに紐づいたGASを利用することが多いのですが、今回はとりあえず投稿を試すだけなので、こちらから新規作成をしてみましょう。
ということで、左上に表示されている「新しいプロジェクト」をクリック!
すると、エディタ画面が開きますので、以下を入力しましょう。
function sendToSlack() {
//このurlの部分には、先ほど取得したURLを入力してください。
var url = "https://hooks.slack.com/services/XXXXXXXX/XXXXXXXX/XXXXXXXXXXX";
var data = {
//ここで投稿したいチャンネルを設定します
//自分宛に送る場合は「#」以降に、普段自分宛メンションされる時の名前を入力
"channel" : "#program",
//ここでbotの名前を決めてあげます
"username" : "botの名前ですん",
//ここで投稿する内容を設定します
"text" : "こんにちは世界",
//アイコンを、そのチャンネルにある絵文字の中から選択します
"icon_emoji" : ":earth_asia:",
"link_names":1};
//ここから下は魔法の言葉です。
var payload = JSON.stringify(data);
var options = {
"method" : "POST",
"contentType" : "application/json",
"payload" : payload,
};
var response = UrlFetchApp.fetch(url, options);
}
これを全てコピペして、【チャンネルだけ変更して】上部の「▶︎」をクリックしてみましょう。
おそらく、承認画面がポップアップで表示されますので、許可してあげると
こんな感じで、投稿が手元に届いたんじゃないでしょうか?
上記コード内でも記載しておりますが、チャンネルやBot名、内容は如何様にも変えることができます。
便利ですね!
###最後に
今回は投稿する方法を説明するだけのページでした。
今後は、別のfunctionでメッセージを生成して、トリガーで投稿するタイミングを決めて...
など様々な内容を書いていきます。
※非エンジニアの記事なので、変な部分があれば逆にお教えいただけると嬉しいです...