---
articleId: db6c3985-d96b-481f-999d-9eca07024fbd
slug: notification
title: 通知設定について
parentCategoryId: 62664a7b-6dd6-4a98-8d38-784fe0c12e08
languageCode: ja
---
## 概要
通知を設定することで、転送ジョブの実行状況や結果に応じた通知を受け取ることができます。
設定するには、通知先(通知に使用するサービスの設定)を作成し、その後に通知設定を作成する必要があります。
## 通知先を作成する
サイドバーの**運用支援** > **通知先** > **通知先の新規作成**から、通知先を作成できます。
### Slackの場合
[Slack app](https://api.slack.com/quickstart)を作成し、Webhook URLを発行してください。
:::(Warning) (Webhook URL発行の制限について)
Webhook URLはSlackのフリープランでは発行できません。
:::
:::(Info) (個人ユーザーにメンションしたい場合)
「**@ユーザーID**」の形式で入力してください。(入力例:`@U123ABC456`)
「@ユーザー名」の形式で入力しても、通知されません。
なお、ユーザーIDは以下の手順で取得できます。
1. Slack上で、対象のユーザーのアイコンをクリックします。
2. **プロフィール**より、三点リーダーをクリックし、**メンバー ID をコピー**をクリックします。
:::
:::(Info) (ユーザーグループにメンションしたい場合)
「****」の形式で入力してください。(入力例:``)
「@ユーザーグループID」の形式で入力しても、通知されません。
なお、グループIDは以下の手順で取得できます。
1. Slack上のサイドバーより、**その他** > **メンバーディレクトリ**をクリックします。
2. ユーザーグループをクリックし、対象のユーザーグループをクリックします。
3. 三点リーダーをクリックし、**グループ ID をコピーする**をクリックします。
{height="" width="50%"}
:::
### Emailの場合
通知をEmailで受け取りたい場合、通知先設定の作成・変更後に送付される確認メールから、メールアドレス認証を受ける必要があります。
確認メールは、設定作成・変更時に**保存**をクリックすると送付されます。
:::(Warning) (Emailで通知を受け取る場合の注意事項)
- 確認メールは、`system@trocco.io`から送付されます。ドメイン指定受信で`trocco.io`を許可してください。
- 確認メールの有効期限は24時間です。有効期限を過ぎてしまった場合は、もう一度通知先設定を**保存**することで、確認メールを再受信できます。
- すでに認証済みの通知先設定であっても、TROCCO上で**保存**をクリックすることで、未認証の状態に戻ります。この場合、送付された確認メールから再度メールアドレス認証を受けてください。
- メールアドレスが未認証の場合、通知メールは送信されません。通知を設定したジョブ自体は問題なく実行されます。
:::
### HTTPの場合
任意のHTTPエンドポイントに対してPOSTリクエストを送信できます。Microsoft TeamsやDiscord、Chatworkなど、Webhook URLを提供するサービスと連携できます。
通知先の新規作成画面で、以下の項目を設定します。
| 項目名 | 必須 | 内容 |
| --- | --- | --- |
| 通知先名 | Yes | 通知先の名前を入力します。 |
| URL | Yes | POSTリクエストの送信先URLを入力します。 |
| 説明 | No | 通知先の説明を入力します。 |
| HTTPヘッダー設定 | No | リクエストに付与するHTTPヘッダーを設定します。認証トークンやContent-Typeなどを指定できます。**HTTPヘッダーを追加**をクリックして、ヘッダー名と値のペアを入力します。
ヘッダー名は自動で小文字に変換されます。
**値をマスキングする**を有効にすると、値が暗号化されて保存されます。一度マスキングして保存した場合、マスキングの設定は変更できません。 |
| URLクエリパラメータ設定 | No | リクエストURLに付与するクエリパラメータを設定します。**URLクエリパラメータを追加**をクリックして、パラメータ名と値のペアを入力します。
**値をマスキングする**を有効にすると、値が暗号化されて保存されます。一度マスキングして保存した場合、マスキングの設定は変更できません。 |
:::(Warning) (HTTP通知先の制限事項)
セキュリティ上の理由から、TROCCOのドメイン(`trocco.io`)へのリクエストは送信できません。もし仮に、この機能を利用しTROCCO APIへのリクエストを行いジョブを起動したい場合は、ワークフロー機能のご利用をおすすめします。
:::
#### 連携先サービスの例
HTTP通知先は、Webhook URLを提供する各種サービスと連携できます。
- **Microsoft Teams**:WorkflowsでWebhook URLを取得します。
- **Discord**:サーバー設定の連携サービスからWebhookを作成し、Webhook URLを取得します。
- **Chatwork**:チャットにメッセージを投稿するPOST APIを利用してメッセージを送信できます。
各サービスが求めるリクエストボディの形式に合わせて、通知設定のメッセージを記述してください。
## 通知設定を作成する
通知先を作成したら、転送設定に通知を設定します。
通知設定の新規作成ダイアログを再度開き、各項目を入力します。
| 項目名 | 必須 | 内容 |
| --- | --- | --- |
| 通知タイプ | Yes | 通知する条件を指定します。詳しくは[通知タイプ](/docs/notification#通知タイプ)を参照ください。 |
| 通知先 | Yes | 転送設定に割り当てたい通知先を選択します。
**通知先を再読み込み**をクリックすると、選択肢として表示される通知先一覧が更新されます。 |
| メッセージ | No | メッセージを入力できます。
入力すると、メッセージ付きで通知されます。
HTTP通知先の場合、リクエストボディとして送信されます。 |
入力が完了したら、**保存**をクリックします。
### 通知タイプ
#### 転送設定の場合
| 通知タイプ名 | 内容 |
| --- | --- |
| ジョブ終了時 | ジョブの成功・失敗にかかわらず、ジョブ終了時に通知します。 |
| ジョブ失敗時 | エラー・タイムアウト発生時に通知します。 |
| レコード数 | 転送ジョブの終了時点で、転送された、あるいは転送がスキップされたレコードの数に応じて通知します。 |
| 実行時間経過時 | ジョブの実行が開始されたタイミングから、指定の時間が経過した場合に通知します。ジョブの実行自体は継続します。 |
#### データマートの場合
| 通知タイプ名 | 内容 |
| --- | --- |
| ジョブ終了時 | ジョブの成功・失敗にかかわらず、ジョブ終了時に通知します。 |
| ジョブ失敗時 | エラー・タイムアウト発生時に通知します。 |
| ジョブ成功、かつ品質チェックエラー検出時 | ジョブが成功し、品質チェックでエラーが検出された場合に通知します。「失敗時の挙動」を「記録のみ」に設定している必要があります。 |
| スキーマ変更検知時 | [スキーマ自動追従モード](/docs/datamart-bigquery#スキーマ自動追従モード)に対応した書き込みモード(増分更新・SCD Type 2)の場合に利用できます。スキーマ変更を検知した際に通知します。 |
| レコード数 | 転送ジョブの終了時点で、転送された、あるいは転送がスキップされたレコードの数に応じて通知します。 |
#### ワークフローの場合
| 通知タイプ名 | 内容 |
| --- | --- |
| ジョブ実行 | ジョブ終了時に通知します。成功・失敗に関わらず通知するか、失敗した時のみ通知するかを指定できます。 |
| 経過時間アラート | ジョブの実行が開始されたタイミングから、指定の時間が経過した場合に通知します。ジョブの実行自体は継続します。 |
### メタ変数を使用する
メッセージ内にメタ変数を記述することで、ジョブの情報を動的に埋め込めます。
#### 転送設定・データマートで使用できる変数
| 変数 | 内容 | 展開例 |
| --- | --- | --- |
| `{{ JOB_ID }}` | ジョブID | `12345` |
| `{{ JOB_STATUS }}` | ジョブのステータス | `succeeded`、`failed`、`canceled`、`skipped` |
| `{{ JOB_URL }}` | ジョブ詳細ページのURL | `https://trocco.io/jobs/12345` |
#### ワークフローで使用できる変数
| 変数 | 内容 | 展開例 |
| --- | --- | --- |
| `$JOB_ID$` | ジョブID | `12345` |
| `$JOB_STATUS$` | ジョブのステータス | `succeeded`、`error`、`canceled` |
| `$JOB_URL$` | ジョブ詳細ページのURL | `https://trocco.io/pipeline_jobs/12345` |
| `$ALL_TASK_COUNT$` | 全体のワークフロータスク数 | `10` |
| `$ALREADY_COMPLETED_TASK_COUNT$` | 実行が完了したワークフロータスク数 | `8` |
| `$ALREADY_COMPLETED_TASK_NAMES$` | 実行が完了したワークフロータスク一覧(最大5件) | `task1, task2, task3` |
| `$SUCCEEDED_TASK_COUNT$` | 成功したワークフロータスク数 | `7` |
| `$SUCCEEDED_TASK_NAMES$` | 成功したワークフロータスク一覧(最大5件) | `task1, task2` |
| `$ERROR_TASK_COUNT$` | 失敗したワークフロータスク数 | `1` |
| `$ERROR_TASK_NAMES$` | 失敗したワークフロータスク一覧(最大5件) | `task3` |
| `$CANCELED_TASK_COUNT$` | キャンセルされたワークフロータスク数 | `0` |
| `$CANCELED_TASK_NAMES$` | キャンセルされたワークフロータスク一覧(最大5件) | ` ` |
:::(Warning) (変数の記法について)
転送設定・データマートでは`{{ 変数名 }}`の形式、ワークフローでは`$変数名$`の形式で記述します。機能ごとに記法が異なりますのでご注意ください。
:::
#### 使用例
Slack Webhookへ通知する場合のメッセージ例です。詳細な仕様は[公式ドキュメント](https://docs.slack.dev/reference/methods/chat.postMessage/#args)を参照ください。
```json
{"text": "ジョブが完了しました。ID: {{ JOB_ID }}, ステータス: {{ JOB_STATUS }}, 詳細: {{ JOB_URL }}"}
```