【Slack】SlackでBotを開発する【GAS】


Slackのアプリ「Incoming Webhook」を使用したBot開発の手順を紹介します

Incoming Webhookの準備

SlackのサイドバーのAppから「Incoming Webhook」を検索、クリックします



「Slackに追加」をクリックします



Botで送信したいチャンネルを選択します
Incoming Webhookインテグレーションの追加をクリックします


Bot名、アイコン等を設定できます
基本的にはデフォルトのままで問題ないです!
「Webhook URL」のみ控えておく必要があるため、urlをコピーします



一番下へスクロールし、「設定を保存」ボタンをクリックします


GASの実装

GoogleAppScriptの実装へ入ります


GoogleドライブからGoogleAppScriptの新規作成をします

slack.gs
// ワークスペースのURL
var postUrl = 'ここにWebhook URLを入力する';

/*
* slackへメッセージを送信する
* 参考
* https://qiita.com/chihiro/items/c7b11abc78f5d806c3a8
* 
* @param {string} username - 通知時に表示されるユーザー名
* @param {string} icon - 通知時に表示されるアイコン
* @param {string} message - 投稿メッセージ
*/
function sendSlack(username,icon,message,channel) {
  var jsonData =
      {
        "username" : username,
        "icon_emoji": icon,
        "text" : message,
        "channel": channel,
      };
  var payload = JSON.stringify(jsonData);

  var options =
      {
        "method" : "post",
        "contentType" : "application/json",
        "payload" : payload
      };

  UrlFetchApp.fetch(postUrl, options);
}  

↑のコードをコピペします
postUrlの部分のみ自身の環境に合わせてください

動作確認

slack.gs
function testSend() {
  sendSlack('テストBot名',':man-gesturing-ok:','テストメッセージを送信しています','#general');
}

↑のメソッドを実行するとSlackへテストメッセージが送信されます

「承認が必要」と出たら…

【GAS】GASのスクリプトの初めての実行【初心者】
https://qiita.com/SyogoSuganoya/items/397a8bbb1636c3f43524

こちらの記事を参考に承認操作を行います