Appearance
ユースケース
ワークフローの設定例です。機能の概要は ワークフロー、ステップの詳細は ステップ、変数の記法は テンプレート変数 を参照してください。
Slackへの通知
直近1日以内に作成されたアカウントを集計する保存済クエリを用意し、アカウントの新規登録があった場合のみ Slack へ通知する設定例です。全体の構成は次のとおりです。
- トリガー: スケジュール(毎日 10:00)
- ステップ1: Run Query(直近1日分のアカウントを取得)
- ステップ2: Slack(結果が1件以上ある場合のみ通知)
1. 保存済クエリを用意する
作成日時を条件に、直近1日分を返す SQL を保存済クエリとして用意します。
sql
SELECT *
FROM `codatum-example.example.accounts`
WHERE created_at >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
ORDER BY created_at DESC2. ワークフローを作成しトリガーを設定する
ワークフローを作成し、トリガー > スケジュール で次を設定します。
- 繰り返す間隔:
1日ごと - 開始時刻:
10:00(タイムゾーンは日本標準時など)
TIP
クエリ詳細の右サイドバー > ワークフロー から作成すると、ステップ1に当該クエリの Run Query が入った状態で開きます。
3. ステップ1に Run Query を設定する
ワークフロー画面から作成した場合は、用意した保存済クエリを選択します。クエリ詳細から作成した場合は、すでに選択済みです。
4. ステップ2に Slack を設定する
事前に Slack と連携 します。公開チャンネルは初回配信時にアプリが自動で参加します。非公開チャンネルへ投稿する場合は、投稿先へアプリを追加します。
| 項目 | 設定例 |
|---|---|
| チャンネル | 通知先(例: notification_codatum)。非公開チャンネルが一覧に出ない場合は、アプリの招待を確認します |
| メッセージ本文 | 下の メッセージ本文の例 を参照します |
| スレッド (任意) | 複数の Slack ステップがある場合、先行ステップのメッセージタイムスタンプを指定するとスレッドへ返信します |
| Codatumへのリンクを含む | ワークフローへのリンクを付与します。リンク先の閲覧にはオーナー権限が必要です |
| 実行条件 | 下の 実行条件の例 を参照します |
メッセージ本文の例
変数を挿入 から 行数・最初の行・Rows を選べます。
TIP
- 最初の行 で
account_nameを選ぶと、{{ query.rows[0].account_name }}が入ります - Rows を選ぶと行のループ記法が入ります。各ループでは
rowを参照します(例:{{ row.account_name }})
件数と先頭最大 5 件を含める例です。
liquid
直近1日以内に作成されたアカウント数: {{ query.rowCount }}
直近作成されたアカウント(最大5件表示)
{% for row in query.rows limit:5 %}
アカウント名:{{ row.account_name }}
作成日時:{{ row.created_at }}
{% endfor -%}実行条件の例
ステップ1のクエリに結果があるときだけ Slack へ送るため、次の式を 実行条件 に設定します。条件に当てはまらない場合、このステップは実行されません。実行条件 も参照してください。
liquid
{{ query.rowCount }} > 0変数を挿入 から 行数 を選ぶと入力できます。query にはステップ1の Run Query の出力が入ります。Run Query を複数置いている場合は query_1 のようになります。詳細は テンプレート変数 を参照してください。
5. 保存して有効化する
保存 したあと 有効化 します。スケジュール実行が始まります。