Power Automateで祝日名を出力する
2022年08月03日 水曜日
CONTENTS
背景
IIJ名古屋支社 技術部 技術4課では、業務の開始と終了をTeamsを利用して宣言をしています。
(「リモートワーク」ではない出社のことを「ローカルワーク」と呼ぶのは “ローカルルール” でしょうか……。)
土曜日と日曜日はPower Automateの設定でTeamsへの投稿はされないのですが、祝日の判定をする設定はないので、改修前は無言のスレッドができていました。
Office 365 Outlookから祝日を取得する
“祝日一覧作成”のような手作業を不要にするため、Office 365 Outlookの「日本の休日」カレンダーを利用して祝日を取得しようと思います。
予定表からイベントを取得するためには「イベントの取得(V4)」が利用できますが、「定期的なアイテム」のイベントは取得できません。
そのため、定期的なアイテムの祝日も取得するために「イベントのカレンダービューの取得(V3)」を使用します。
イベントのカレンダービューの取得(V3)はどのような値が取得できるのか
まずはどのような値が取得できるのか、中身を見てみます。
値を簡単に確認したいので、フローボットにチャットで教えてもらうことにしました。
式は、body('祝日を取得').value
です。
実行
色々と出力されましたので、モザイク処理をしております。
"subject": "憲法記念日"
ですので「subject」を指定すると祝日名を取得できそうです。
さっそく取り出してみましょう。
先ほどのbody('祝日を取得').value
をfirst(body('祝日を取得').value)['subject']
に変更して実行してみます。
(複数の値がある場合に備えてfirstを付けています。)
無事に取得できているようです。
定期的にTeamsに投稿する
ざっくり設計
- 土曜日と日曜日は引き続きPower Automateの設定で投稿しない。
- 土曜日と日曜日以外の祝日は投稿をしないのではなく、祝日であることが分かるようにして投稿する。
- 過去の記録をさかのぼる場合、日付が飛んでいるように見えてしまい、その日が祝日だったのかすぐに分からないため。
- 曜日も英語表記でかっこよく表示する。
- おまけ。
完成!
曜日が英語表記で出力され、祝日名も追記されています。
最後に
Power Automateは機器の起動を気にせず使用できることや、Microsoft TeamsやOffice 365 Outlookと簡単に連携できるところが良いですね。
祝日もOffice 365 Outlookから取得できるため、祝日を設定する処理やメンテナンスなどもなく、とても快適です。
みなさまの日々の作業をちょっとでも楽にする参考になりましたら嬉しいです。