機能:スケジュール同期

connect for Pleasanter機能

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」のデモや製品に関するお問合せはお気軽にご相談ください。

タイトルとURLをコピーしました