どうもばるすです。
先日に引き続きWorkatoネタです。
Workatoって何ー?って方は、こちらのブログをご参照ください(ステマ)
Workatoのレシピを作って動かしていると、エラーが起きたり動かなかったりするんです。
そういうときって通知したり特別な何か処理したりしたいですよね。
できちゃうんです。
そう、Workatoならね。
ということで今日はWorkatoのトリガーの一つ「Manage other recipes」について書きます。
トリガーってなんですか?
Workatoさんの公式ドキュメントを貼っておきます。
https://docs.workato.com/recipes/triggers.html#triggers
ざっくり平たく書くと
Workatoのレシピを実行するきっかけを設定するのがトリガーです。
説明
トリガーできるもののカテゴリはこんな感じです。
![](/wp-content/uploads/2021/03/image-27.png)
このうちの一つ「Manage other recipes」を使うことで別レシピの監視ができます。
Manage other recipes のトリガー
※日本語翻訳版の画像を下に置きました
Job failed
![](/wp-content/uploads/2021/03/026f3158e5874337bcf27d69cc1f0359.png)
![](/wp-content/uploads/2021/03/4186e6da19b64a6b94d0399b39662ac1.png)
Recipe stopped by Workato
![](/wp-content/uploads/2021/03/image-26.png)
![](/wp-content/uploads/2021/03/a8a3c52bc6df441bbf501239cee15674-1.png)
Account connected
![](/wp-content/uploads/2021/03/0cbe07f761084d20aa05c75e9e8620da.png)
![](/wp-content/uploads/2021/03/82d58f45f32142e59980691c23fc02ba.png)
Account disconnected
![](/wp-content/uploads/2021/03/cfa2f0b74703486a8d117ac5a76955de.png)
![](/wp-content/uploads/2021/03/450ac0e3a2c846f2ba8d660702ed85ea.png)
Customer usage threshold
![](/wp-content/uploads/2021/03/aa3cf2b1adee4470adbe4ea65b6f3fb2.png)
![](/wp-content/uploads/2021/03/e8d81d5680884dff80481cdf8e0024b9.png)
Member invitation accepted
![](/wp-content/uploads/2021/03/774f1b8ceb824d478ec0f50dfb3cfe97.png)
![](/wp-content/uploads/2021/03/9d783a6f98494d6dbc26a53e8d013ca3.png)
Package deployed
![](/wp-content/uploads/2021/03/3be2baf28f3c456f8c1113e8ff6df853.png)
![](/wp-content/uploads/2021/03/02bb675f5f984301b9523edbd44809f2.png)
Recipe started
![](/wp-content/uploads/2021/03/bd3798245cca4ede973489c6ac5e47ed.png)
![](/wp-content/uploads/2021/03/cc4999eab6ef42cd825d4fe3ce4b5a9a.png)
Recipe stopped by user
![](/wp-content/uploads/2021/03/e08c26340d624c6bb9b1611940e47391.png)
![](/wp-content/uploads/2021/03/efd6ba5e98834df9b7e52852fe8663ab.png)
色々ありますね。
よく使うのは「Recipe started」と「Job failed」ですね。
実際に使ってみた
百聞は一見に如かずってことで、
別のレシピの実行が失敗したらSlackで通知するレシピを作ってみました。
レシピ全体図(完成形)
今回作成するレシピの完成形はこんな感じです。
![](/wp-content/uploads/2021/04/395954acf985b42763f6b2690a799f99.png)
サンプルレシピ作成までの道のり
- レシピを作成してトリガーを設定する
- トリガーの認証を設定する
- トリガーの条件、対象レシピを設定する
- レシピでAppアクションを配置して設定
1. レシピを作成してトリガーを設定する
Recipe → NewRecipe→ 適当に名前入れてBuild Callable recipeをクリック
![](/wp-content/uploads/2021/03/f743ccbc019441eda41aaf2992af63d0.png)
今回はJob failedを選択します。
![](/wp-content/uploads/2021/03/6fb1467f1b7b4b11ba3ad09580211b19.png)
2. トリガーの認証を設定する
項目の値をそれぞれ設定します。
Connection name:適当でOK。
Whose account are you managing? :現在ログイン中のアカウントor他人のアカウントを選択。今回は現在ログイン中のアカウント[My account]を選択。
![](/wp-content/uploads/2021/03/f2f1ca72b54a4d62bd3a683f15f3421d.png)
[My account]選択後の画面
![](/wp-content/uploads/2021/03/872cc390328343d181f88208f3e58d84.png)
3. トリガーの条件、対象レシピを設定する
今回はすべてレシピを選択し、条件は設定しません。
![](/wp-content/uploads/2021/03/5c296d2c13394c0eb3ca6e001dd84105.png)
4. レシピでAppアクションを配置して設定
Slackを追加してPostMessageを選択、投稿先と内容を設定します。
前のアクションの値を使ってSlackへの投稿文に入れ込むことができます。
![](/wp-content/uploads/2021/03/d8c7b2b254d3473bad7c0e79fcd0833a.png)
動かしてみる
事前準備
こちらで作成したレシピを編集して、あえてエラーが出るようにしました。
![](/wp-content/uploads/2021/03/7b866a4dc8d04f8d825f01c9078df5a0.png)
いざ実行
以前作成したAPIに追加して、テストで実行します。
![](/wp-content/uploads/2021/03/347fe426fb48473abb10bdde1aeda731.png)
![](/wp-content/uploads/2021/03/186c5105ad664a24b00152fb137375bc.png)
結果
![](/wp-content/uploads/2021/03/5f58461bfe16436d9e19c0aa68089639.png)
まとめ
別のレシピを監視して、動かなければXXする的なレシピはめっちゃ簡単に作成できます。
今回はシンプルな構成にしていますが、
レシピAが失敗したらSlackに通知とか
レシピBならメールを飛ばすとか
レシピCなら5分後に再実行するとか
色々と応用が利きます。
すごいよね。
おわりに
今回、ブログ書くためにこの機能を検証してみたんですけど
あまりにも設定が簡単過ぎて、またまたびっくりしました。
サンプルのレシピを作るのに15分程度しかかかってません。
テストまでコミコミで30分くらい。
ちなみに、このブログ書くために2時間ほど要しました。
次回は1時間ちょいで書き上げたいな…いけるかな…
頑張ろう…
以上、ありがとうございました。