Alerthubルールの実行履歴のステータスが失敗になる場合について
完了Alerthubでwebhookを受信した時、ルール実行履歴のステータスが失敗となるのはどのような原因が考えられるでしょうか?破棄と失敗の違いは何でしょうか?
以下、使用しているルールです。

以下、メッセージ画面です


-
ご質問ありがとうございます。
回答させていただきます。ルール実行の履歴において、「破棄」はルール内での条件判定に一致せず、イベント発生に繋がらなかった際のステータスとなります。一方で「失敗」はルール実行におけるエラー発生時のステータスで、主に受信したメッセージが期待するフォーマットに沿わない場合に発生するステータスとなります。
例えば今回のケースであれば message.content.body.target および message.content.body.scope を JSON 形式のデータとしてパースするようルールが書かれておりますが、これらのフィールドに JSON 形式ではない文字列が入ってきた場合に、今回のように「失敗」ケースとなることが考えられます。
なおご質問いただいた点からは外れますが、 message.content.body は受信した Webhook の HTTP リクエストボディが直接含まれるフィールドとなりますので、全体が 1 つの文字列として扱われており、 target や scope といった子要素は存在いたしません。(今回「失敗」になった直接の原因と考えられます)
また、 message.content.body 自体が JSON 形式である場合は自動的に message.content.data 以下に展開されますので、そもそも JSON パースを設定する必要はなく、正しい設定としては下記のようなものになるものと推察いたします。
- 「処理フロー」には特に何も設定しない(空にする)
- 「イベント(対象スコープを条件指定)」の条件指定を、 「スコープ属性の name が message.content.data.scope と一致するスコープ」とする
- 「イベント(対象スコープを条件指定)」の深刻度指定を「深刻度 message.content.data.target を 1 増やす」とする
以上、よろしくお願いいたします。
サインインしてコメントを残してください。
コメント
2件のコメント