AlertHub・スコープで解析されるパラメータ(内部変数)について
完了お世話になっております。
AlertHubに送付されたメールは、AlertHub・スコープのルール及びトリガにてメール内のパラメータを解析している認識です。
①メール内に解析したいパラメータの内容がない場合は、(正規表現の指定にもよるかと思いますが)内部変数にはNullが設定される想定です。
齟齬はないでしょうか?
例)
パラメータ解析ルールの内容
パラメータ(内部変数)名1:param1
解析ルール1(正規表現) :param1:\\s*(.+)
パラメータ(内部変数)名2:param2
解析ルール2(正規表現) :param2:\\s*(.+)
実際の送付されるメール本文
param1:hogehoge
内部変数の値
param1 → hogehoge
param2 → Null ※メールに「param2:」の指定がないためNullとなる想定
②また、ルールでなくトリガのパラメータ解析ルールであれば、このような値がないパラメータがあっても、その後のPigeon連携は問題なく出来る想定です。
※ルールの方は必須項目定義という認識なのでパラーがないとエラーになる(アクションが実行されない)想定です。
齟齬はないでしょうか?
以上、よろしくお願い致します。
-
正式なコメント
お問い合わせありがとうございます。
ご質問の件、以下の通り回答させていただきます。質問①についてはその認識で間違いございません。
補足しますと、「フィールドから正規表現によって値をひとつ取り出す」は、選択してトリガーやルールに配置すると「F1から正規表現P1によって値をひとつ取り出して一時フィールドF2に保存する」といった表現になり、F1,P1F2という 3 つのパラメーターを取ります。例を見ると、P1にparam1:\s*(.+)と書かれていると、抽出結果がparam1に保存されるという理解になっているようにも見えましたが、そのようなことはありません。
保存先はF2の指定ですべて決まり、P1にparam1:と書かれていても、あるいは書かれていなくとも保存先に影響を与えることはありません。このオペレーターの挙動は以下の通りです。-
F1に書かれている内容 (message.content.textならメール本文) の内容に対して正規表現P1のマッチを試みます- マッチした場合、
F2で指定された正規表現に最初にマッチした部分の括弧内に当たる箇所を格納します- 括弧がひとつもなかったり複数あったりした場合の挙動については今回の問い合わせの対象外だと思いますので割愛
- マッチしなかった場合、
F2で指定されたフィールドにnullを格納します
- マッチした場合、
F2に格納された内容はさらに後に配置されたオペレーターや、(トリガーやランブックに配置されたオペレーターの場合) アクション内のテキストの展開に利用することができます。質問②につきましては、「フィールドから正規表現によって値をひとつ取り出す」の以下の挙動はルールでもトリガーでも共通です。-
F1,P1,F2はルール/トリガー定義時にすべて入力しなければならない - ルール / トリガー実行時、
F1に対応するフィールドには文字列が格納されている必要がある (されていなければエラー) -
F2は実行時に存在する場合にエラーになる (何もないところに作らなければならない)
以上、よろしくお願いします。コメントアクション -
-
お世話になっております。
すみません。追加確認よろしくお願いします。
メール内に解析したいパラメータの内容がない場合は、(正規表現の指定にもよるかと思いますが)内部変数にはNullが設定される(と解釈される)ということでしたが・・・
①NullがPigeonにWEBHOOK経由で渡された場合、読み上げ内容がNullにならないでしょうか?
②もしNullで読み上げられる場合、Nullではなく空文字で解釈させることは可能でしょうか。
※何も読み上げないようにしたいと思っております。
追記
正規表現が「\\s*(.+)」であれば、パラメータとして半角スペースを入れればよいでしょうか?
以上、よろしくお願い致します。 -
お世話になっております。
先日ご案内させていただいた内容について、補足とお詫びを申し上げます。
当初ご説明した「Pigeonのパラメータに空白文字を指定すると読み上げられない」という件は、
あくまで Pigeon に渡すパラメータの仕様に関するご案内でした。
ただし、お客様のケースでは、そのパラメータが AlertHub の正規表現によって
メール本文から抽出されているという構成になっており、
本来であれば、正規表現が適用されるメール内の文言と、設定されている正規表現の内容を確認した上で
ご案内すべきでした。
こちらの確認が不十分だったことで、ご迷惑をおかけしてしまい、誠に申し訳ございません。今後はより丁寧に状況を確認の上、的確なご案内ができるよう努めてまいりますので、引き続きどうぞよろしくお願いいたします。
サインインしてコメントを残してください。
コメント
15件のコメント