この記事は Autify アドベントカレンダー2021 および Mackerel アドベントカレンダー 2021 の20日目のためのブログエントリです。Autify の中の人(Autify のカスタマーサクセスエンジニアをしています)よりお届けしています。
当記事執筆現在、Autify ではテスト実行結果の通知連携先として Slack をサポートしています。
その他に Autify は Webhook もサポートしていますので、Slack 以外のサービスに通知などを連携したい場合には、これを活用すると良いです。
Webhook を作成する - Autify Help Center
「Webhook」というのは、何か世界標準的なフォーマットがあるわけではなく(あったら面白そうです)、「何らかのイベントが発生した場合に、あらかじめ指定された任意のURLにPOSTリクエストを送る」、ということを指していることが殆どだと思います。つまり、送られてくるその中身は、サービスごとにバラバラです。
そのため、任意のサービスに対して Webhook を使って連携をしたい場合には、「通知元(Webhookの送り元)のサービス」と「通知先(Webhookの送り先)のサービス」の間に、「通知元サービスの Webhook リクエストの内容を、通知先のサービスが求める内容に変換する "なにか"」を挟んであげる必要があります。イメージとしては以下の図のような感じです。
今回のこのブログ記事では、これにトライしてみることにします。「リクエストの内容を変換する "なにか"」と「通知先のサービス」は、今回は以下の図のような構成にしてみました。
「Google Cloud Run」は Google が提供するクラウドプラットフォーム・Google Cloud Platform 内の1サービスで、フルマネージドなコンテナ実行環境です。
「Mackerel」は、株式会社はてな が提供する SaaS 型のサーバー監視サービスです。とはいっても Mackerel は「サーバー」だけでなく「サービス」の監視も可能なので、「Autify による、サービスに対するE2Eテストを行った結果を連携・監視する」という観点でもピッタリです。
ちなみに、僕が前職・はてなに所属していたときに携わっていたプロダクトでもあります。Mackerel、チョットワカル。(でもだいぶ忘れてきちゃいましたが......。)
上記の構成で実現を試みる内容は、「Autify テストプランを実行した結果のうち、"成功したテストシナリオ数" と "成功以外だったテストシナリオ数" を Mackerel に投稿する」というものです。
果たして、うまく連携できるでしょうか?続きをお楽しみください!
続きを読む