shell scriptで祝日判定をできるらしい

稼働日の一定時刻にある場所にPOSTリクエストを投げるという定常業務があるのだけど、自動化できないかなあと思っていた時にこんなのを見つけた。

shellでGoogleカレンダーから祝日を判定するにはこういう風に判定するといい。jenkinsなどで祝日稼働したくないジョブがあるときに便利だと思う。 · GitHub

gist.github.com

仕様が変わっていたのか、上記のままだと微妙にうまく動かなかったので少し修正した。

shellでGoogleカレンダーから祝日を判定するにはこういう風に判定するといい。jenkinsな ...

Google Calendarの公開カレンダー情報をパースしてそれを元に祝日判定をするようだ。これは便利!Google ConsoleでAPI keyを取得したら、上記のif文の中にやらせたい処理を書けばよい。

Google Cloud Platformのページからプロジェクトを立てて、API一覧からGoogle Calnedarを参照して有効化。

f:id:memomemoman:20160107172321p:plain

次に左カラムの「認証情報」をクリックして、「新しい認証情報」から「APIキー」  >「サーバーキー」の順に選択していくと、API Keyが発行される。これを上記scriptのAPIKEYの変数部分に入れればよい模様。

国民の祝日以外の特定のカレンダーもimportできるので、一定のカレンダーをGoogle calendarで作っておけば同じ要領で該当する日かどうかを簡単に判定できる。