ワークフローは、既存の通知・音声再生・イベントフック機能を置き換えるべく作成された、自由度の高い機能です。
むやみに乱用すると正常に動作しなかったり、アプリケーションやPC全体が不安定になる可能性があります。
十分注意してご利用ください。
Warning
ワークフロー機能は開発中の機能です。 バージョンアップでイベントのデータが変更されたり、廃止される可能性があります。 アップデートの際は内容をよくご確認の上アップデートをお願いいたします。
この機能は既存の設定ファイル( config.json
)とは別のファイル( workflows.json
)に保存されます。
削除などの動作が簡単にできてしまうことから自動でファイルへの保存は行いません。
こまめに保存やバックアップをお願いいたします。
ワークフロー機能には主に4つの概念が登場します。
トリガーとアクションをまとめた一連の定義です。
複数作成することができ、有効無効の切り替えや、任意の名前を付けることができます。
アクションを実行する条件を定義します。
ワークフローにつき原則一つのみです。
テスト実行機能も備えており、指定した条件に合致するテストイベントを生成する機能があります。
トリガーで設定された条件を満たしている場合に実行される挙動を定義します。
ワークフローにつき原則1つのみですが、後述する複数アクションを実行するアクションにより、複数のアクションを実行させることもできます。
トリガーで定義された条件に合致したときに、アクション実行時に付加される情報です。
テンプレート等で利用できるほか、アクションによっては環境変数やペイロードなどから参照できます。
テンプレートエンジンとして Scriban を使用します。
条件分岐などの書き方についてはこちらも参考にしてみてください。
テスト実行以外では何も実行されないトリガーです。
名前 | 型 | 解説 | 例 |
---|---|---|---|
EventType | string | イベント区別のための固定値 | Test |
EventId | Guid | イベント区別のためのUUID | a5142d28-8c81-4179-acf7-1b2116791a10 |
IsTest | bool | テストイベントかどうか | true |
Time | DateTime | テストボタンを押した時刻 | 2024-04-25T06:36:06.4406939+09:00 |
アプリ起動時に1回だけ実行されるトリガーです。
名前 | 型 | 解説 | 例 |
---|---|---|---|
EventType | string | イベント区別のための固定値 | ApplicationStartup |
EventId | Guid | イベント区別のためのUUID | a5142d28-8c81-4179-acf7-1b2116791a10 |
IsTest | bool | テストイベントかどうか | true |
アプリの更新が存在するときにトリガーされます。
Important
定期的に更新情報をチェックする
が有効でない場合は動作しません。
繰り返しトリガーする が有効の場合、アップデートチェックの度(おおよそ10分ごと)にアップデートが存在する場合トリガーされます。
無効の場合アップデートが見つかった時に1回だけトリガーされます。
名前 | 型 | 解説 | 例 |
---|---|---|---|
EventType | string | イベント区別のための固定値 | ApplicationStartup |
EventId | Guid | イベント区別のためのUUID | a5142d28-8c81-4179-acf7-1b2116791a10 |
IsTest | bool | テストイベントかどうか | true |
IsContinuous | bool | アップデート存在状態が継続しているか | true |
LatestVersion | string | 最新のバージョン | v0.18.8 |
強震モニタタブで揺れを検知したときのトリガーです。
Important
- 強震モニタ タブが表示されていない場合は動作しません。
- かつ、揺れの検出を有効にする オプションが有効でない場合も動作しません。
現状では検知開始、検知レベルの上昇でしかトリガーされませんが、拡充を予定しています。
デフォルトでは 強い揺れ を検知した時には 弱い揺れ のトリガーでも動作しますが、 レベルが一致しているときのみ実行する
を有効にすると、そのレベルの時にしか動作しなくなります。
名前 | 型 | 解説 | 例 |
---|---|---|---|
EventType | string | イベント区別のための固定値 | KyoshinShakeDetected |
EventId | Guid | イベント区別のためのUUID | a5142d28-8c81-4179-acf7-1b2116791a10 |
EventedAt | DateTime | イベントが発生した強震モニタ上の時刻 | 2024-04-25T06:36:06.4406939+09:00 |
FirstEventedAt | DateTime | イベントが初めて発生した強震モニタ上の時刻 | 2024-04-25T06:36:06.4406939+09:00 |
KyoshinEventId | Guid | 揺れ検知イベント区別のためのUUID | a5142d28-8c81-4179-acf7-1b2116791a10 |
Level | KyoshinEventLevel | イベントの揺れの強さ | weak |
Regions | string[] | イベントに含まれている地域一覧 |
Jsonの場合先頭は小文字になります。
名前 | 揺れの強さ |
---|---|
Weaker |
微弱な揺れ |
Weak |
弱い揺れ(震度1未満) |
Medium |
揺れ(震度1以上) |
Strong |
強い揺れ(震度3程度以上) |
Stronger |
非常に強い揺れ(震度5弱程度以上) |
強震モニタタブで揺れを検知したときのトリガーです。
Important
- 強震モニタ タブが表示されていない場合は動作しません。
- 緊急地震速報 設定の
詳細な情報を表示する
が無効になっている場合、UI 上での表示条件に合わせて一部の情報を受信してもワークフローがトリガーされません。
受信したすべての緊急地震速報でトリガーさせたい場合は、詳細な情報を表示する
を有効にしてください。 - 仮定震源要素の場合、マグニチュード1.0 深さ10km の固定値となり、座標も最初に検知した地震計の座標となるためご注意ください。
Caution
- 強震モニタが配信している緊急地震速報はあくまで強震モニタと合わせて表示するための情報であり、Webhookなどを使用して外部で単体の情報として扱うことは強震モニタの利用条件から逸脱した行為となります。
あくまでアプリの挙動のカスタマイズとして利用し、情報を単体で利用しないでください。 - 個人向けのプラン契約での DM-D.S.S から受信した緊急地震速報の再配信は禁止となっています。
詳細は DM-D.S.S 公式の再配信ポリシーをご確認ください。
あくまでアプリの範囲内で、節度を持ってご利用ください。
情報自体の発表や更新によるトリガーの条件の指定です。
- 新規発表
- アプリが新規の緊急地震速報を受信したときにトリガーされます。
- 続報発表では発表されません。
- 続報発表
- 続報が発表されたときにトリガーされます。
- より精度の高い情報ソースからの情報
- 報数が更新されずにより精度の高い情報ソースから情報のみを更新したときにトリガーされます。
- 例えば、 SignalNow で受信後に DM-D.S.S で情報が補完された場合などです。
- 最終報
- 最終報を受信したときにトリガーされます。
- キャンセル報
- キャンセル報を受信もしくは、強震モニタから受信できなくなりキャンセル報もしくは範囲外の深さになったときにトリガーされます。
状態の変化によるトリガーの条件の指定です。
必ず情報自体の発表や更新が同時に発生しています。
- 警報発表
- 緊急地震速報(警報) 発表時に地震ごとに1度だけトリガーされます。
- 現段階では警報の続報が出てもトリガーされません。
- よって、警報地域の更新検知の目的にこの条件を利用しないでください。
- 予想最大震度上昇
- 更新前の情報と比較して予想震度が上方修正された場合にトリガーされます。
- 予想震度が不明だったものに震度が設定された場合にもトリガーされます。
- 予想最大震度低下
- 更新前の情報と比較して予想震度が上方修正された場合にトリガーされます。
- 予想震度が不明になった場合にもトリガーされます。
Warning
SignalNow Professional 連携を使用している場合、最大震度が取得できず不明扱いになる都合上、
情報更新の度に 予想最大震度上昇
と 予想最大震度低下
の条件がトリガーされることになります。
素早い情報の取得に DM-D.S.S の利用もご検討ください。
名前 | 型 | 解説 | 例 |
---|---|---|---|
EventType | string | イベント区別のための固定値 | Eew |
EventId | Guid | イベント区別のためのUUID | a5142d28-8c81-4179-acf7-1b2116791a10 |
EventSubType | EewEventType | イベントの条件区別 | New |
EewId | string | 緊急地震速報のイベントID | 20240430010203 |
SerialNo | int | 緊急地震速報の報数 | 1 |
OccurrenceAt | DateTime | 地震の推定発生時刻 | 2024-04-25T06:36:06.4406939+09:00 |
EewSource | string | 受信元 | 強震モニタ |
IsTrueCancelled | bool | キャンセルであることが確定しているか 強震モニタ上でキャンセルもしくは受信範囲外とみなした場合は false |
true |
Intensity | JmaIntensity | 最大震度 | Int6Upper |
IsIntensityOver | bool | 最大震度が上記の震度程度以上かどうか | true |
EpicenterPlaceName | string | 震央地名 | 石川県能登地方 |
EpicenterLocation | Location | 震央座標 | 石川県能登地方 |
Magnitude | float? | マグニチュード データがない場合は null |
3.5 |
Depth | int | 震源の深さ(km) | 10 |
IsTemporaryEpicenter | bool | 仮定震源要素か | false |
IsWarning | bool | 警報状態か | false |
WarningAreaCodes | string[] | 警報地域コードの配列 | 999 |
WarningAreaNames | string[] | 警報地域名の配列 | aaa |
IsFinal | bool | 最終報か | false |
IsCancelled | bool | キャンセル報か | false |
Jsonの場合先頭は小文字になります。
名前 | サブタイプ |
---|---|
New |
新規発表 |
UpdateNewSerial |
続報発表 |
UpdateWithMoreAccurate |
より精度の高い情報ソースからの情報 |
Final |
最終報 |
Cancel |
キャンセル報 |
NewWarning |
警報発表 |
IncreaseMaxIntensity |
予想最大震度上昇 |
DecreaseMaxIntensity |
予想最大震度低下 |
Jsonの場合先頭は小文字になります。
名前 | 震度 |
---|---|
Unknown |
不明 |
Int0 |
震度0 |
Int1 |
震度1 |
Int2 |
震度2 |
Int3 |
震度3 |
Int4 |
震度4 |
Int5Lower |
震度5弱 |
Int5Upper |
震度5強 |
Int6Lower |
震度6弱 |
Int6Upper |
震度6強 |
Int7 |
震度7 |
名前 | 型 | 解説 |
---|---|---|
Latitude | float | 緯度 |
Longitude | float | 経度 |
本当に何もしません。
複数のアクションを連続もしくは並列して実行することができます。
複雑にはなりますが、複数アクション実行を入れ子にすることもできます。
同時実行を行う
を有効にすると各アクションを同時に実行しようとしますが、環境によってはアプリケーションの他の機能に影響を及ぼすこともありますのでご注意ください。
通知を指定した文言で送信できます。
通知アイコンなどが無効になっている場合は何も起こりません。
本文はテンプレートが利用できますが、タイトルはテンプレートは利用できません。
テンプレートで指定したファイルを再生することができます。
待機
を有効にすると複数アクション実行時にファイルの再生が終わるまで次のアクションの動作をブロックすることができます。
文字通り、メインウィンドウを最前面に表示します。
複数アクション実行時に次のアクションの動作を遅らせることができます。
もちろんですが、同時実行を行っているときには意味がありません。
テンプレートで指定した内容をログに出力します。
ログのファイル出力が有効になっていればファイルにも出力されますので、デバッグや動作状況の確認などにご利用ください。
指定した URL にイベントの内容を Json にしたものを POST します。(所謂 Webhook)
今のところリクエスト送信中は次のアクションの実行はブロックされます。
指定したファイルを開こうとします。
既定のアプリで開く
が有効の場合はシェル経由で、無効の場合は直接起動しようとします。
プロセス終了を待機する
が有効の場合はプロセスが終了するまで次のアクションの実行をブロックします。
ファイルを開こうとした場合は大抵表示等するアプリケーションが起動する時点までになりますのでご注意ください。
{{
for r in Regions
r + " "
end
"で"
case Level
when "Weak"
"弱い"
when "Medium"
""
when "Strong"
"強い"
when "Stronger"
"非常に強い"
else
Level
end
}}揺れを検知しました