ワークフローのユースケース

Codatumのワークフローを利用した実践例を紹介します。

Slackへの通知の送信

シナリオ:直近のアカウント作成数を通知する

直近1日以内に作成されたアカウントを集計するクエリを作成し、新規のアカウント作成があった場合のみSlackへの通知を行うワークフローを作成します。

クエリの作成

  • 作成日時のカラムを元に直近1日分のデータを出力します

SELECT *
FROM `codatum-example.example.accounts`
WHERE created_at >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
ORDER BY created_at DESC

スケジュール設定

  • 日次で朝10時に実行する形で設定します

    • 繰り返す間隔: 1日ごと

    • 開始時刻: 10:00 (GMT+09:00) 日本標準時

ステップ1:Run Query

  • 上記で作成したクエリを選択します

    • 「クエリ」画面からワークフローを作成した場合は、ステップ1に選択したクエリが入力された状態でワークフロー設定が開始されます

ステップ2:Slack(Codatum)

  • 事前にインテグレーションの追加と通知したいSlackチャネルへのAppの追加を行います

  • チャネル:notification_codatum

    • App追加済みのチャネルが一覧表示されます

  • メッセージ本文:

    • 「最初の行」を元にメッセージ内で利用したい変数の記入方法を確認できます

      • account_nameを選択すると、{{ query.rows[0].account_name}} のような形で入力されます

    • クエリの実行結果を複数行分取得し、行ごとに表示したい場合は 「</> Rows」 を選択します

      • Liquid記法でループ処理が実現される形で自動的にに入力されます

      • 各ループではrowに値が入力されるので、 {{ row.account_name }}のような形で入力したい変数を選択してください

  • スレッド

    • 複数のステップでSlackを送信する場合、前のステップで送信したメッセージに対してスレッドでメッセージを送信することができます

  • Codatumへのリンクを含む

    • ワークフローへのリンクを付与することができます

    • ワークフローの閲覧にはワークフローのオーナー権限が必要です

  • 実行条件(任意)

    • ステップ1のクエリに出力結果があるかどうかを以下の条件式で確認します

    • {{ query.rowCount }} > 0

      • 「</>(変数を挿入)」からGUI上で「行数」を選択して入力することが可能です

      • query に 「Run Query」 の出力結果が格納されます

        • 「Run Query」 を複数設定している場合は、query_1のように識別用の数値が追加されます

  • 条件式に当てはまらない場合はアクションの実行がされません

直近1日以内に作成されたアカウント数: {{ query.rowCount }}
直近作成されたアカウント(最大5件表示)
{% for row in query.rows limit:5 %}
アカウント名:{{ row.account_name }}
作成日次:{{ row.created_at }}
{% endfor -%}

最終更新

役に立ちましたか?