オープンソースのサーバレス実行環境「OpenWhisk」の概要とアプリケーションの作成
IBM Bluemix User Group(BMXUG)リレー寄稿 第2回
Slackに通知する処理の作成
次に先ほど作成した「getWeatherNews」で取得したデータをSlackに送信する処理を作成していきたいと思います。方法として自身でgetWeatherNews内にコードを書いてしまう(実際はSlackに送信する程度の場合には短いコードでかけてしまいます)などもできますが、OpenWhiskにはActionを共有したりまとめたり(Package)する機能があり、Slackに送信する機能も標準で用意されています。今回はこの用意されているパッケージを利用したいと思います。

ActionとActionをつなげるためには「Sequence」(CliなどではChainと呼ばれている機能)と呼ばれる機能があります。これはイメージ的にはUNIXのパイプのような処理になり、Action間はJSON形式で値を引き渡しながら逐次処理が行われます。
実際に画面上からSlackへ送る機能をつなげてみます。「Link Into Sequence」をクリックします。

今回は「SLACK」を選択します。

もう一つActionの機能には「標準」の引数を決める機能があります。CliではAction自身にも設定できますが、Webでは規定のパッケージにしかまだできないようです。今回はこの「SLACK」パッケージ内の「post」Actionを利用します。引数を受け渡すためには、本来であればJSON Inputで行う必要があります。作成したgetWeatherNewsのOutputのJSONには「post」Actionで必要な "text"データしか含まれていませんので、それ以外の値を「標準」の引数として設定をしておく必要があります。そのためには画面の左下にある「New Binding」を選択します。

ここにSlackに送るための標準の値を入れてしまいます。名前は「mySlackChannel」としておきます。設定が終わったら「Save Configuration」をクリックします。そして「Add to Sequence」をクリックすると、でき上がります。

このようなかたちでつながっていれば問題ありません「This Looks Good」をクリックして完了します。

名前を「weather2slack」としてSequence名を付けました。実際にこの作成したSequenceを実行してみます。

この機能がJavaScriptでできているようで実行画面がJavaScriptなのです。先ほど getWeatherNewを実行した時と同様に、JSON Inputに値を入力して「Run Withs This Value」をクリックします。

Slack側に上記のように通知されていれば成功です。iconを指定すればもう少し見栄えがよくなりますね。
この記事は参考になりましたか?
- IBM Bluemix User Group(BMXUG)リレー寄稿連載記事一覧
- この記事の著者
-
常田 秀明(Bluemix User Group)(トキダ ヒデアキ)
日本情報通信(株) クラウドエバンジェリスト。ネットワーク、監視プロダクトのエンジニアを経験したのちシステムの設計、運用、保守のPMを経て近年クラウドを推進する立場で活動をしています。主にお客様の導入支援、クラウドの啓蒙活動、コミュニティ活動に従事。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
