サイボウズ株式会社が提供するグループウェア「Garoon」のスケジュールと連携を行うテンプレートの使い方を紹介します。
<テンプレートファイルはページ下部よりダウンロードいただけます>
Garoonのスケジュールは、予定を管理するアプリケーションです。個人のスケジュールを登録/管理できるのはもとより、会議室など施設の予約、他のユーザーの予定を確認できます。タイムゾーン対応により、時差の異なる拠点とのスケジュール調整も手間なく行える高機能スケジューラーです。
テンプレートは2種類がございます。
- CSVデータファイルからGaroonのスケジュールへ登録
- GaroonスケジュールからCSVファイルへ出力
■テンプレートのインポート
まずは、テンプレートのアーカイブファイルをダウンロードします。
アーカイブファイルは本記事下にダウンロードリンクよりダウンロードしてください。
ダウンロードしたアーカイブファイルをインポートして準備は完了です。
■CsvファイルからGaroonスケジュールへデータを登録
【Step1】
登録するスケジュールデータファイルを指定します。
CSVファイルのフィールド構成は以下の通りです。
- 入力情報フィールド(Eventsテーブル)
- 予定のタイプ伝票日付(EventType)
- 予定メニュー(EventMenu)
- タイトル(Subject)
- メモ(Notes)
- 開始日時(StartDateTime)
- 終了日時(EndDateTime)
- タイムゾーン(StartTimeZone、EndTimeZone)
- 参加者(Attendees)
- 施設(Facilities)
- 会社名(CompanyInfoName)
- 郵便番号(CompanyInfoZipCode)
- 住所(CompanyInfoAddress)
- 路線の経路(CompanyInfoRoute)
- 路線の所与時間(CompanyInfoRouteTime)
- 路線の運賃(CompanyInfoRouteFare)
- 電話番号(CompanyInfoPhone)
- 添付ファイル(Attachments)
- 公開設定(Watchers)
【Step2】
「テーブル選択」ボタンをクリックし、書き込み先のテーブルを選択します。 ここでは、スケジュール(Events)テーブルを選択してください。 フィールドは固定でセットされます。
これで完成です。
フローを実行しますと、
スケジュールが登録されていることが確認できます。
上記のフローではテンポラリテーブルを利用して添付ファイル付きスケジュールの登録処理を行っています。
ここでは補足情報としてGaroonのテンポラリテーブルについて少し説明いたします。
Garoonへスケジュールデータを登録する際に、複数の参加者、公開先を登録する必要が出てきます。
この時にはJson形式で登録することができますが、Garoon連携アダプターではテンポラリテーブルを利用することでJson形式に変換せず、登録することができます。
また、上記のように添付ファイル付きのスケジュールの登録でも使います。
テンポラリテーブルは動的なテーブルで、その名前に「#」を付加して示されます。
テンポラリテーブルを使用してデータを挿入する場合、そのテンポラリテーブルには「[TableName]#TEMP」という形式で名前を付ける必要があります。
「TableName」は、データを挿入するテーブルの名前です。
テンポラリテーブルの使い方は下記の通りです。
- 複数の参加者が存在するスケジュールの登録時
まず、テンポラリテーブルに複数の参加者情報を登録します。INSERT INTO EventAttendees#TEMP (Code,Type) VALUES('User1','USER')
INSERT INTO EventAttendees#TEMP (Code,Type) VALUES('User2','USER')
次に、Eventsテーブルにテンポラリテーブルを利用してスケジュールを登録します。INSERT INTO Events (EventType, StartDateTime, StartTimeZone, IsStartOnly, Attendees) VALUES ('REGULAR', '2020-09-27T14:00:00+09:00', 'Asia/Tokyo', true, 'EventAttendees#TEMP')
スケジュールの登録処理が終わったら、テンポラリテーブルのデータを削除します。DELETE FROM EventAttendees#TEMP
- 添付ファイル付きスケジュールの登録時
まず、テンポラリテーブルに添付ファイル情報を登録します。
添付ファイルのコンテンツにはBase64エンコードが必要です。INSERT INTO EventAttachments#TEMP (name,contentType,content) VALUES('test1.txt','plain/text','dGVzdA==')
次に、Eventsテーブルにテンポラリテーブルを利用してスケジュールを登録します。INSERT INTO Events (EventType,StartDateTime,StartTimeZone,isStartOnly, Attendees, Attachments ) VALUES ('REGULAR','2020-09-27T14:00:00+09:00','Asia/Tokyo', true, '[{"type": "USER","code": "c000001"}]’, 'EventAttachments#TEMP')
スケジュールの登録処理が終わったら、テンポラリテーブルのデータを削除します。DELETE FROM EventAttachments#TEMP
■GaroonスケジュールからCsvファイルへデータを出力
【Step1】
「テーブル選択」ボタンをクリックし、読み込み先のテーブルを選択します。 ここでは、スケジュール(Events)テーブルを選択してください。 フィールドは固定でセットされます。
【Step2】
書き込み先のCSVファイルパスを指定します。
出力されるCSVファイルのフィールド構成は以下の通りです。
- 出力項目(Eventsテーブル)
- 予定のタイプ伝票日付(EventType)
- 予定メニュー(EventMenu)
- タイトル(Subject)
- メモ(Notes)
- 会社名(CompanyInfoName)
- 郵便番号(CompanyInfoZipCode)
- 住所(CompanyInfoAddress)
- 路線の経路(CompanyInfoRoute)
- 路線の所与時間(CompanyInfoRouteTime)
- 路線の運賃(CompanyInfoRouteFare)
- 電話番号(CompanyInfoPhone)
- 開始日時(StartDateTime)
- 終了日時(EndDateTime)
- 参加者(Attendees)
- 施設(Facilities)
- 添付ファイル(Attachments)
- 公開設定(Watchers)
これで完成です。
フローを実行しますと、
Garoonスケジュールに登録されているデータがCSVファイルに出力されていることが確認できます。