技術ブログ
技術ブログ
2018年09月06日
このエントリーをはてなブックマークに追加

Integromatを使用した自動化(第二弾)

tkmatsuoです。今回もIntegromatを使った自動化ネタになります。

隣の部署で提供しているサービスのフローにお客様へメールを送る処理があり、どうやらスパムフィルタに引っかかっている様でその対応状況がSlack上でみえました。調べてみるとSpamhausを使用しているみたいで、そこのブロックリストに登録されている様に見受けられます。Internetで調べるとSpamhausのブロックリストに登録されていないか確認する方法が幾つか見つかりました。下記の様なコマンドをcronで実行して127.X.X.Xという値が返ってきた場合は担当者に連絡するといったようなものですね。

普通にサーバ上で実行しても良いのですが、あまりサーバ使いたくないのでLambdaで試してみたところ、digコマンドが使えないと言われたのでであきらめました。という事でIntegromatからサーバにログインし、その戻り値に応じた結果をSlackに出力するまでを自動化してみたいと思います。

Integromatの設定ですが今回のインテグレーションで使用するのはSSHとSlackです。まずはSSHの設定から。

1.SSHモジュールを選択しConnection⇒AddでConnection name、Host、Auth typeを選択します。ModeはExcecute commandを選択し、The command to be executed on a remote device.の箇所に実行するコマンドを入力します。今回は”dig +short DDD.CCC.BBB.AAA.zen.spamhaus.org”でアルファベットの部分はスパムリストに登録されているかどうか確認したい対象のIPアドレスを入力します(対象のIPアドレスがAAA.BBB.CCC.DDDの場合DDD.CCC.BBB.AAAで入力)。

2.次にSlackの設定です。Slackモジュールを選択しSSHモジュールと接続したあと、Slackモジュールの設定を行います。Connection⇒AddでSlackに接続するアカウントを選択し、Channelはメッセージを出力したいSlackのChannelを選択します。Text部分には出力したい文字列を出力するのですが、Integromatを使用した場合ここでif文が記述できますので今回は、コマンド実行結果として戻り値が無かった(スパム登録がされていなかった)場合はOKを、戻り値があった場合(スパム登録されていた)場合はChannelメンバにメンションでその結果を出力するという風に設定します。

 

以上で終了です!他にもZendesk連携など数十のシナリオを作成し日々使用していますので機会があればまたこちらで紹介させて頂きたいと思います。

 

このエントリーをはてなブックマークに追加

PROプランのすべての機能を
30日間無料でお試し

新規無料登録いただくとPROプランのすべての機能を
30日間無料でお試しいただけます。
クレジットカードなど決済情報の登録は不要です。

各プランの詳細はこちらからご確認ください。