slackに投稿するスクリプト

タイトルの通り、Slackへの投稿をするスクリプトを作ってみようというお話です。

Slackアプリの作成

こちらでSlack Appsを作成します。

中央の[Start Building]をクリックします。

アプリの名前とWordkspaceを設定し作成します。

そしてincoming webhooksをクリックします。

incoming webhooksをonにしてworkspaceをwebhookに追加します。

この時、どのチャンネルに投稿するかを選択します。

追加すると、追加されたwebhookのところにwebhookURLというのが書いてあると思います。これを控えておいてください。

Slackへの投稿

以下のスクリプトでwebhookURLを入れれば、”xxxx”をslackに投稿するスクリプトとして動きます。

import urllib.request, json


url = "http://xxxx/xxxx" 
method = "POST"
headers = {"Content-Type" : "application/json"}


obj = {"text" : "xxxx"} 
json_data = json.dumps(obj).encode("utf-8")

# httpリクエストを準備してPOST
request = urllib.request.Request(webhookURL, data=json_data, method=method, headers=headers)
with urllib.request.urlopen(request) as response:
    response_body = response.read().decode("utf-8")

https://qiita.com/neko_the_shadow/items/324976c7b54623e82b26を参考にさせていただいております。)

まとめ

これだけだと、手動でスクリプトを実行しなければいけませんがAWS Lambdaを使えば、定時に何かの通知をslackに投稿したり、何かアラートが出た際にslackに投稿したりできます。