LoginSignup
3
3

More than 5 years have passed since last update.

Slack用勤怠管理Botの「みやもとさん」が初期化時にエラー発生

Posted at

Slack用勤怠管理Botの「みやもとさん」をつかってみようとインストールしてみました。
現時点(2016-04-20)ではGoogle Apps Scriptの初期化処理でエラーが発生してしまうため、スクリプトを修正するなど、ちょこっと一手間追加してインストールを行いました。
という作業メモです。

main.gsの初期化(setUp)で休日の取得で参照しているURLが403を返してるようでココでエラーが起きてしまっているようです。
ヘタレな自分はエラーのでないように修正するプログラマとしての正しい道を選ばずに、休日の設定は後回しにする方法を選びました。
つまり、以下のような修正をしました。

main.gs.diff
--- main.gs.O   2014-10-26 22:28:54.000000000 +0900
+++ main.gs 2016-04-20 17:14:07.000000000 +0900
@@ -608,15 +608,6 @@
     settings.set('無視するユーザ', 'miyamoto,hubot,slackbot,incoming-webhook');
     settings.setNote('無視するユーザ', '反応をしないユーザを,区切りで設定する。botは必ず指定してください。');

-    // 休日を設定
-    var url = 'http://www.google.com/calendar/feeds/japanese@holiday.calendar.google.com/public/full-noattendees?alt=json&max-results=1000&start-min='+DateUtils.format("Y-m-d", DateUtils.now());
-    var data = JSON.parse(UrlFetchApp.fetch(url).getContentText());
-    var holidays = _.map(data.feed.entry, function(e) {
-      return e['gd$when'][0]['startTime'];
-    });
-    settings.set('休日', holidays.join(', '));
-    settings.setNote('休日', '日付を,区切りで。来年までは自動設定されているので、以後は適当に更新してください');
-
     // メッセージ用のシートを作成
     new GSTemplate(spreadsheet);

patchをあてたmain.gsをGoogle Apps Scriptに貼り付けて初期化(setUp)を行うと完走します。

次に端折った休日の設定を手作業で追加します。
自動作成されるGoogleスプレッドシートの "_設定" シートのA4に"休日"を入力、B4に次の休日を適当に入力、C4に"日付を,区切りで。来年までは自動設定されているので、以後は適当に更新してください"を入力してください。(C4の文字列は不要かもしれないですが…)

以上の修正で「みやもとさん」を動かすことができました。
あ、Slackの管理ページのUIがREADME.mdの説明と若干異なっていますが、いい感じに読み替えてください。

Slackで勤怠管理できるのって便利便利。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3