0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【初心者用】GASを利用してSlackにメッセージを送るbotを作成する

Posted at

何かしらのメッセージをSlackにbotとして投稿する際に、準備することや書き方をメモがてら記載します

###準備
まだ、投稿したいSlackにbotなどを追加したことがない場合は、以下の手順を踏みます。
 →すでにWebhook URLを発行済みの方はこちら

Slackにbotを追加するには【Webhook URL】というものが必要になります。
そのURLの発行・取得の方法をここで記載します。

こちらにアクセスし上部の「管理」をクリック
②表示された画面の左メニューの「カスタムインテグレーション」をクリック
③その後、上部の検索窓で「incoming Webhook」と入力
④候補一番上に三角っぽいアイコンの「Incoming Webhook」というものが出てくるので、クリック
⑤表示された画面で「Slackに追加」をクリック(以下の画像のような画面です)
Slackの画面
⑥その後、どのチャンネルに追加するかを設定します
 この際テストであれば、一旦自分宛に届く様に設定してもよいと思います
 また、投稿するチャンネルは後から変更できるので、安心して設定しましょう!
⑦チャンネルを設定したら、「Incoming Webhookの追加」をクリック
⑧次の画面で【Webhook URL】が赤字で表示されます 以下のようなURLです。
3015665dc1367af26b82f96030a89067.png

ここまでで、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でメッセージを生成して、トリガーで投稿するタイミングを決めて...
など様々な内容を書いていきます。

※非エンジニアの記事なので、変な部分があれば逆にお教えいただけると嬉しいです...

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?