通知先HTTP機能のご紹介: 転送以外でもTROCCOはいろんなサービスと繋がれます
TROCCOの通知先HTTP機能の概要
TROCCOの通知先機能は、ジョブの失敗や完了をTROCCO外のプラットフォームから確認するための機能です。これまではEメールおよびSlackでの確認が可能でしたが、今回通知先の種類として、「HTTP」をサポートしました。
これにより、HTTPリクエストを受け付ける任意のサービスとAPIを介して通知を受信できるようになりました。
主なユースケースとしては以下の通りです。
- Chatworkなど、Slack以外の任意のチャットサービスに通知を送る
- ジョブ失敗時に、失敗したジョブのURLなどを元に任意のタスク管理サービスにチケットを自動発行する
- TROCCOのジョブ失敗時にチケットを発行し、復旧時にクローズするような運用を行うことで、障害の件数や復旧までにかかったリードタイムを計測するような運用もできます。その際にはぜひ転送元Githubや転送元Backlogもご活用ください!
なお、公式ドキュメントは以下です。
また、よく似た機能としてTROCCOのワークフローにHTTPリクエストタスクがありますが、こちらは文字通りワークフローのタスクとしての実行になるので、ワークフロー自体が失敗しタスク実行が止まってしまうと実行されません。
それに対し、今回の場合は「通知」なので、ジョブ失敗時にも確実に実行されることがポイントです。ジョブのエラー発生時に素早く気づくためにご活用ください。
HTTPリクエストタスクのドキュメントは以下です。
実践編: 実際の設定例
続いて、みなさん気になるであろう、実際にいくつかのサービスを例に通知するための設定例を見ていきましょう。
どのサービスでも共通のポイントとして、以下の点を押さえておいていただけるとスムーズです。
- 通知先URLなどの設定は「通知先」機能で行う
- そのうえで、どのジョブの結果を通知するか、どんな内容を通知するかといった設定は、転送設定、CDC、データマート、ワークフローなどの「通知設定」から行う
1. TROCCOのジョブ失敗時にChatworkへの通知を行う
「通知先」側の設定
-
URL:
-
https://api.chatwork.com/v2/rooms/<your_room_id>/messagesを指定。※<your_room_id>は通知したいルームIDを入力ください。
-
-
HTTPヘッダー
- ヘッダー名:
Content-Type, 値:application/x-www-form-urlencoded
- ヘッダー名:

メッセージに入力する値の例
bodyのみ入力すれば送れます。とてもシンプルですね。
{
"body": "TROCCOのジョブが失敗しました {{ JOB_URL }}"
}

実際に通知されるメッセージの例
2. TROCCOのジョブ失敗時にGitHub Issues自動発行
通知先側の設定
画面イメージはChatworkの例と同様のため省略します。
- URL
-
https://api.github.com/repos/<repo_owner>/<repo_name>/issuesのように入力し、issueを作成時
-
- HTTPヘッダー設定
- ヘッダー名:
Authorization, 値:<github_PAT>githubから取得したPAT。公式ドキュメントを参考に発行してください。 - ヘッダー名:
Accept, 値:application/vnd.github+json - ヘッダー名:
X-GitHub-Api-Version, 値:2022-11-28
- ヘッダー名:
※画面イメージは略。
メッセージに入力する値の例
{
"title": "TROCCOのジョブが失敗しました",
"body": "TROCCOのジョブが失敗しました {{ JOB_ID }}, {{ JOB_URL }}"
}
3. TROCCOのジョブ失敗時にBacklogのチケット自動発行
通知先側の設定
画面イメージはChatworkの例と同様のため省略します。
- URL
- https://<org-name>.backlog.com/api/v2/issues?apiKey=<apiKey>
- HTTPヘッダー設定
- ヘッダー名:
Content-Type, 値:application/x-www-form-urlencoded
- ヘッダー名:
メッセージに入力する値の例
公式ドキュメントにならい、以下のように入力しましょう。
{
"projectId": <your-project-id>,
"summary": "TROCCOのジョブが失敗しました {{ JOB_ID }}, {{ JOB_URL }}",
"priorityId": <your-priority-id>,
"issueTypeId": <your-issue-type-id>
}
まとめ
TROCCOの通知先HTTPは一見地味ですが、ジョブが失敗したときなどに「素早く気づき」「復旧対応を行う」ための可能性を広げる機能として開発しています。紹介した他にも様々なサービスと繋がれる可能性があるのでぜひご活用ください。
Discussion