2022年3月10日木曜日

n8n.ioでPostgreSQLのクエリ結果でslackにポストするメッセージを変更するフローを作成する

n8n.ioでPostgreSQLのクエリ結果でslackにポストするメッセージを変更するフローを作成するには、以下の作成手順を実行します。

フロー作成手順

1. Postgres Nodeを追加します
Credential for Postgresから「Create New」を選択します
Postgres accountダイアログで接続先データベースのHost, Database, User, Password, Portを入力して、Saveボタンをクリックします。

Operationで「Execute Query」を選択し、QueryにSELECT文を入力します。
(例:select count(*) as cnt from sample;)

2. IF Nodeを追加します
String条件の「Value 1」でCurrent Node -> Input Data -> JSON -> cntを選択し、以下の式を入力します。
Value1で{{$json["cnt"]}}
Operationで「Equal」を選択します
「Value 2」で「0」を入力します。
これで、Postgresで返されるcntの値が0の場合はtrue、そうでなければfalseが返されます。

3. SlackでWebHookのURLを取得
Workspaceのメニューから「設定と管理」→「アプリを管理する」、画面左から「カスタムインテグレーション」→「Incomming WebHook」、「設定」タブをクリック→設定の「鉛筆」アイコンをクリック、ここでWebhook URLの設定を取得します。
※あらかじめWebHookの設定はしておきます。

4. IFノードのtrue/falseに対応するHTTP Requestノードを追加して、以下のパラメータを設定します。
Request Method : Post
URL : 手順3で取得したURL
Response Format : String

Body ParametersグループでAdd Parameterボタンをクリックして以下の4つのName : Valueを設定
・text : 表示する文字列
・icon_emoji : 「:cat:」などの絵文字
・channel : 「#yourchannel」などのチャネル
・username : 「testuser」などのユーザ名

5. 「Execute Workflow」ボタンをクリックして、クエリの結果に応じたslackにメッセージが投稿されることを確認します。

〇フロー図

0 件のコメント:

コメントを投稿