他エントリ(WARP4.8新機能紹介 ~ フローサービス管理コンソールAPI)でも紹介されていますが、4.8からフローサービス管理コンソールAPIが公開されています。
ヘルプを見ると色々な機能が提供されていますが、今回はこの中の「calendar」モジュールに着目してみました。
FAQではシステムカレンダーのみの移行はできません ともありますが、このcalendarで提供されている機能を使ってある程度実現できるのではないかと思い立ち、今回は休日を「土曜日」、「日曜日」、「祝日」と2014/06/16で作成した「社内カレンダー」をテスト用画面を使って他サーバーへ移行できるか確認してみます。
イメージは
- [移行元] listでカレンダーの一覧を取得して、
- [移行元] showで取得したカレンダー情報をもとに、
- [移行先] create/update でカレンダーを作成/更新
といった感じです。
では、テスト用画面を使って動作を確認してみます。
まず、[移行元]サーバーのテスト用画面を開き、「login」ボタンをクリックして、sessionidを取得しておきます。
次にlistを実行してカレンダーの一覧を取得しました。
取得対象とするカレンダー名が確認できたら、続いてshowを実行していきます。
※結果のJSONは[Format]ボタンをクリックしてインデントして表示してみました。
ヘルプをみながらshowで取得したJSONをcreateで渡すデータに加工し、
今度は[移行先]サーバーのテスト用画面を開き、ログイン後、createを実行します。
※休日部分の日付は同じ形式のようなので、その前段部分を少し加工しました。
※カレンダー名は「社内カレンダー2」としておきました。
[移行先]のフローサービス管理コンソールにログインし、カレンダーが登録されているか確認してみましょう。
手入力で設定しておいた2014/06/16も休日として登録されています。
パラメーターやリクエストURLの詳細は省きますが、showで取得したJSONを多少加工することで他サーバーへcreateを使って移行(コピー)することはできるようです。
フローなどで同じ操作を実現できればカレンダーの同期を自動化するみたいなこともできるかもしれません。機会があればまた、試してみようと思います。