2
2

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.

IBM Cloud Functions からPythonで Slack にメッセージをPostする

Last updated at Posted at 2020-06-09

###手順:

  1. Slack で対象チャネルに Incoming Webhook 設定
  2. IBM Cloud functions でアクション作成

1. Slack で対象チャネルに Incoming Webhook 設定

Slack のマニュアルを確認して URLを取得します。

  • アプリの追加はワークスペースの管理者の承認が必要

・[Slack での Incoming Webhook の利用]
(https://slack.com/intl/ja-jp/help/articles/115005265063-Slack-%E3%81%A7%E3%81%AE-Incoming-Webhook-%E3%81%AE%E5%88%A9%E7%94%A8)
・[Sending messages using Incoming Webhooks]
(https://api.slack.com/messaging/webhooks)

=> ”https://hooks.slack.com/services/xxxxxxxxx/xxxxxxx/0KX1TxxxxxwP1xxxxx61axxxxx”
  のようなURLを取得します。


2. IBM Cloud functions でアクション作成

IBM Cloud コンソールにログイン -> Functions に移動
https://cloud.ibm.com/login

・[アクションの作成]
(https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-actions#actions_create_ui)
コンソールからのアクションの作成を行います。

**IBM Cloud Functionサービスがすでに作成されている前提です。
スクリーンショット 2020-06-09 9.08.20.png

-> create
スクリーンショット 2020-06-09 9.10.11.png
-> Actionを選択

スクリーンショット 2020-06-09 9.10.23.png

-> アクション名、パッケージを指定し、ランタイムは Python を選択します。

Codeを入力します。
サンプルのcode

import requests
import json

def main(dict):

 body={'username':'Alert','icon_emoji':':star:','text':'IBM Cloud Functions Test'}

 url = "https://hooks.slack.com/services/xxxxxxxxx/xxxxxxx/0KX1TxxxxxwP1xxxxx61axxxxx" #<- Slackで取得したURL
 response = requests.post(url,data=json.dumps(body))
 return {"message" : "IBM Cloud Functions test post to slack"}

body 部分に usename、icom_emoji、text(メッセージ) を入力します。

他のオプションはマニュアルが参考になります。
・chat.postMessage
(https://api.slack.com/methods/chat.postMessage)

スクリーンショット 2020-06-09 9.12.22.png
-> コード右上のSave を押します。

スクリーンショット 2020-06-09 9.27.25.png

-> SaveボタンがInvokeに変わります。Invoke を実施します。
(URL は対象の内容に置き換えてます)

スクリーンショット 2020-06-09 9.21.18.png

-> コードの右列に実行結果が出力されます。


結果、Slackチャネルには次のように通知されます。
スクリーンショット 2020-06-08 19.47.01.png

サンプルでは、星マークを使用しましたが、変更可能です。
Emoji Cheat Sheet に一般的な一覧があります。(参考:[Emoji Cheat Sheet] (https://www.webfx.com/tools/emoji-cheat-sheet/) )

以上です。


参考:
IBM Cloud Functions

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?