最終営業日にワークフローを実行する
1518 views
この記事では、最終営業日や月初営業日など、日付と曜日が可変的/不規則なスケジュールでワークフローを実行する方法を紹介します。
GetGoogleCalendarEvents
月の最終営業日などにワークフローを実行したい場合、通常のスケジュール設定だけでは対応が難しい場合があります。
※通常のスケジュール設定で難しい例…「最終営業日」の曜日,日付が不定
このような場合は、GetGoogleCalendarEventsアクションを利用したワークフロー構成が有効です。
ワークフローの設定例
今回は、以下のケースを想定したワークフローを設定してみます。
最終営業日は24日から31日の間で、曜日は不定、19時45分にワークフローを実行
設定が完了したワークフローでは、以下の動作が実現されます。
「毎月24~31日の間、毎日19時45分にワークフローが実行され、GoogleCalendarに所定の予定が登録されて”いない”場合はワークフローを強制終了し、予定が登録されている場合はワークフローを続行する」
まずはGoogleCalendarのコネクションを登録する必要があります。
コネクション画面より、GoogleCalendarのコネクションをご登録ください。
詳細な方法は以下をご参照ください。
3のスケジュール設定により実行されたワークフローの内部で、実行時点の日付において2で登録した予定が存在するか判断します。
- プロバイダーIDとカレンダーIDに、予定を登録したカレンダーのコネクションとカレンダーを指定します。
- 「取得期間の開始日時」に以下を入力します。
${moment().utcOffset(540).format('YYYY-MM-DDT00:00:00Z')}
- 「取得期間の終了日時」に以下を入力します。
${moment().utcOffset(540).format('YYYY-MM-DDT23:59:00Z')}
- 「検索ワード」に2で指定した予定のタイトルを入力します。
AUTORO_最終営業日
- GetGoogleCalendarEventの結果を変数に保存します。
条件分岐を設定し、4で予定が取得されなかった(最終営業日ではなかった)場合にワークフローを強制終了させるようにします。
- 条件分岐IFを設定します。
- 条件式を入力します。
${!4の変数名.items.length}
- 条件分岐範囲内に、KillAttemptを設定します。
- (任意)強制終了時のメッセージを入力します。
# Googleカレンダーから予定を取得 +get_google_calendar_events_t: action>: GetGoogleCalendarEvents provider: '' calendar_id: '' from: ${moment().utcOffset(540).format('YYYY-MM-DDT00:00:00Z')} to: ${moment().utcOffset(540).format('YYYY-MM-DDT23:59:00Z')} query: 'RC_最終営業日' maxResults: 250 meta: display: # 変数に保存 +store_value_calendarEvents: action>: StoreValue key: calendarEvents value: +get_google_calendar_events_t # 真のとき_最終営業日の予定が存在しなかった時 +if_calendarEvents_is_none: if>: ${!calendarEvents.items.length} _do: # 強制終了 +kill_attempt_none: action>: KillAttempt message: '最終営業日ではありませんでした。ワークフローを終了します。'
<GoogleCalendar>最終営業日/月末/GetGoogleCalendarEvents/Googleカレンダー
このページは役に立ちましたか?
サイトを見て解決しない場合はAUTOROにログインし、チャットよりお問い合わせください。