Pigeonのメッセージテンプレートへの変数の渡し方
完了お世話になっております。
ガイダンスの読み上げメッセージにつきまして、メッセージテンプレートの内容を、受信スロットに入ったメールからのものに差し換えたいと考えております。
その方法をご教示いただけないでしょうか?
Enterprise の利用も考えていますが、AlertHub/Pigeon だけでもできるのでしょうか?
メールデータは以下のようなものを想定しています。
・メール本文:server名、発生時刻、エラーコード、エラーメッセージが英語まじりに記載
それを "server名" "発生日時" "エラーコード" "メッセージ(全文)" で、一つ一つのカテゴリー毎に読み上げたい。
また読み上げ順序は「1」とか「2」の押ボタンの対応ガイダンスが先(メッセージテンプレートを書き換えようと思います)
以上、ご教示いただけますか?
よろしくお願いします。
-
正式なコメント
ご質問ありがとうございます。回答させていただきます。
昨日、下記の機能をリリースいたしました
AlertHub で受信したメッセージの文中から取り出した値をアクションで利用できるようになりました。
メール本文にどういった形で必要な情報が記載されるかにも依りますが、こちらの機能を利用すると本文内の情報を部分的に抽出して、アクション実行時に埋め込むことが可能です。
また、PigeonのガイダンスにはAlertHubと同様のテンプレート構文を用いており、AlertHubのアクションによりPigeonを実行する場合、上記の機能により抽出した情報を含め、アクションで使用できる情報は全て展開可能です。これらを利用することで、ご要望の動きに関してはKompira Enterpriseを使わずに実現することが可能かと思います。
よろしくお願いいたします。
コメントアクション -
お世話になっております。
質問【20210709_1】
トリガーが実行されたかどうかはどこで判断できるのかをご教示願えますか?
また、理由2:の事象が起きる理由について、なにかわかるようでしたらご教示いただけますか?
よろしくお願いします。理由1:
1受信スロットに複数のアラートが入るが、それぞれの架電アクションが異なる(コールフローが異なる)ので、スコープも比例して用意する。
この場合、メッセージから飛ぶ画面でのルール実行履歴やトリガー一覧が、すべて同日日付となっており、実際に実行されたものの判別がつきにくい
理由2:
上記のメッセージから飛ぶ画面でのルール実行画面やトリガー一覧の画面のステータスから、ルールの結果やイベントの結果は問題ないように見えるのに、トリガーで指定したアクション(架電コールフロー)でなく、別のアクション(別の架電コールフロー)が実行される。
架電されているのだから、トリガー条件も一致したのだと推測するのだが、なぜトリガー末尾に登録してあるアクションが動かないのかが不明
※トリガーの実行条件の後には、
パラメータ加工フローも作成してある。
その際の正規表現は、
「AlertHub で受信したメッセージの文中から取り出した値をアクションで利用できるようになりました。」
を参照させていただいたもので、
メッセージ本文から正規表現によって値を一時フィールドにいれる指定はそのまま引用している。
本文メッセージも、上記の例にならって
hostname :server100.da
trigger:ping
としてしている。 -
トリガーが実行されたかどうかはどこで判断できるのかをご教示願えますか?
スコープに対してイベントが発行されたとき、そのスコープに設定された全てのトリガーに関して例外なく実行条件の判定が行われます。また実行条件の判定をクリアしたトリガーに関してはそこに設定されたアクションが実行されますが、この履歴はスコープの「概要」にて表示される「アクション」一覧で確認可能です。
つまり、どのトリガー設定の実行条件判定が行われたかは「どのスコープにイベントが発見されたか」を確認していただければ良いのでメッセージ画面の「イベント」から各スコープの詳細にジャンプすることで追跡可能、そこからどのアクションが実行されたかはスコープの「アクション」一覧から追跡可能、となります。
理由2:の事象が起きる理由について、なにかわかるようでしたらご教示いただけますか?
一般的に、想定とは異なるアクションが発生する場合、その原因としてざっと下記が考えられます。
- 受信スロットに対して送信した内容がルール設定の意図と合致せず、想定外のスコープに対してイベント発行が行われている
- ルールの処理フローの設定の誤りにより、想定外のスコープに対してイベント発行が行われている
- ルールのイベント設定の誤りにより、想定外のスコープに対してイベント発行が行われている
- トリガーの条件判断の設定誤りにより、想定外のトリガー条件を満たしている
- トリガーの設定にて誤ったアクションが指定されている
- アクションの設定にて誤ったコールフローが指定されている
- コールフローの定義内容が誤っている
6、7に誤りがないとすると、まずは「想定外のスコープに対してイベント発行が行われている(1〜3)」か「イベント発行先のスコープは正しいが、想定外のアクションが実行されている(4、5)」かを調べるのが良いと考えます。これらは先述の方法により確認可能ですので、まずはどちらのケースにあたるかご確認ください。
よくあるケースとしては条件指定に関する設定(2、4)や、送信データの内容(1)に関する誤りが挙げられます。これらが疑われる場合、差し障りのない範囲で具体的な内容を教えていただければ、より踏み込んだ回答ができる可能性がございます。
本文メッセージも、上記の例にならって
hostname :server100.da
trigger:ping
としてしている。こちら、少々気になりましたが、「hostname」と「:server100.da」との間に半角スペースが混入しており、もしこの通りにデータ送信をしたのだとすると記事に記載のルールではデータ抽出できないことが考えられます。
今回の問題に関係するかは不明ですが、ご確認ください。
サインインしてコメントを残してください。
コメント
5件のコメント