connect for Pleasanterのスケジュール同期ついて説明します。
概要
- 「connect for Pleasanter」のスケジュール同期は、Pleasanterテナント管理でスケジュール設定を行い、外部サービスからPleasanterアプリサイトへ定期的にデータを取得します。
オペレーション
スケジュール同期
- Step1サービス連携サイトの作成
・外部サービスからデータ取得を行うサービス連携サイトを作成します。
・CFP基本設定管理サイトでAPIキーやエラー通知先等を設定します。
・CFPサービス管理サイトでREST API情報を設定します。
・CFPマッピング管理サイトでマッピング情報を設定します。
・サービス連携サイトにスクリプトと呼び出し用サーバースクリプトを設定します。※オンデマンド同期を参照してください。
※パッケージ提供してるサービス連携以外はAdapterの実装が必要です。
- Step2テナントの管理>サーバースクリプトの設定
・「connect for Pleasanter」の呼出しサーバースクリプトを設定します。
- Step3テナントの管理>サーバースクリプト>スケジュールの設定
・毎時・毎日・毎週・毎月等のスケジュールを設定します。
- Step4スケジュール同期の確認
・スケジューリングされた周期でデータ同期がされてることを確認します。
- Step5エラー通知の確認
・エラー発生時は、Slack・メールへ通知されます。
- Step6データ同期されていないと思われる場合
・エラーが発生していなければ、指定した周期でデータ同期されているので特に確認は必要ないですが、同期されていないと思われる場合はオンデマンド同期でデータの確認を行ってください。
サーバースクリプトの設定
マッピング設定した全てのデータ連携を行う場合と、特定のデータ連携だけを行いたい場合で設定してください。
- バッチによるデータ同期処理:CFPマッピング管理サイトで「使用中(900)」になっている設定を順次実行します。
- タイトル:「connect for Pleasanter」
- 名称:外部連携サイト等
- タイムアウト:周期時間×90%(日次なら23時間:82800000)
- サーバースクリプト:以下を設定、<サイトID等>は設定してください。
- <同期開始日時>:原則、null(CFPマッピング管理サイトの前回同期日時)を指定してください。トラブルシュート時に同期日時(‘2026/03/01 00:00:00’または’2026-03-01T00:00:00Z’)を指定して解決してください。
- logs.Log:Pleasanter1.4.21を利用してる為、logs.Log(type, message, method, console, syslogs)の仕様でtype10だとエラーメッセージが出力されないので「method」に出力してます
const BASIC_SITE_ID = <CFP基本設定管理サイトのID>;
const SERVICE_SITE_ID = <CFPサービス管理サイトのID>;
const MAPPING_SITE_ID = <CFPマッピング管理サイトのID>;
const SYNCHRONIZATION_DATE = <同期開始日時>;
try {
logs.Log(10, `【CFP一括バッチ】同期を開始します。同期対象日時:${SYNCHRONIZATION_DATE || '各設定のDateA'}`, `CFP:Batch:START:${SYNCHRONIZATION_DATE || '各設定のDateA'}`);
const cfpServer = new CFP.ConnectForPleasanterServer(BASIC_SITE_ID, SERVICE_SITE_ID, MAPPING_SITE_ID);
cfpServer.executeBatch(SYNCHRONIZATION_DATE);
logs.Log(10, `【CFP一括バッチ】同期が正常に終了しました。`, `CFP:Batch:END`);
} catch (e) {
logs.Log(80, `【CFP一括バッチ】例外が発生しました: ${e.message}\n${e.stack}`, `CFP:Batch:ERROR`);
}
- シングルバッチによるデータ同期処理:同期したいCFPマッピング管理サイト内のレコードIDを指定して実行
const BASIC_SITE_ID = <CFP基本設定管理サイトのID>;
const SERVICE_SITE_ID = <CFPサービス管理サイトのID>;
const MAPPING_SITE_ID = <CFPマッピング管理サイトのID>;
const MAPPING_ID = <CFPマッピング管理サイトのレコードID>;
const SYNCHRONIZATION_DATE =<同期開始日時>;
try {
logs.Log(10, `【CFPシングルバッチ】同期を開始します。マッピングID:${MAPPING_ID}、指定同期日時:${SYNCHRONIZATION_DATE || 'マッピング設定(DateA)を使用'}`, `CFP:WordPress:post:START:${MAPPING_ID}:${SYNCHRONIZATION_DATE || 'マッピング設定(DateA)を使用'}`);
const cfpServer = new CFP.ConnectForPleasanterServer(BASIC_SITE_ID, SERVICE_SITE_ID, MAPPING_SITE_ID);
cfpServer.executeSingleBatch(MAPPING_ID, SYNCHRONIZATION_DATE);
logs.Log(10, `【CFPシングルバッチ】同期が正常に終了しました。`, `CFP:WordPress:post:END`);
} catch (e) {
logs.Log(80, `【CFPシングルバッチ】例外が発生しました: ${e.message}`, `CFP:WordPress:post:ERROR`);
}
お問い合わせ
「connect for Pleasanter」のデモや製品に関するお問合せはお気軽にご相談ください。
