パッケージのインストール/アップグレード時の Apex の実行
アプリケーション開発者は、登録者が管理パッケージをインストールまたはアップグレードした後に Apex スクリプトを自動で実行するように指定できます。これにより、登録者の組織の詳細に基づいてパッケージのインストールまたはアップグレードをカスタマイズできます。たとえば、スクリプトを使用して、カスタム設定の入力、サンプルデータの作成、インストーラへのメール送信、外部システムへの通知、または大きなデータセットに新しい項目を入力するための一括処理操作の起動などができます。簡易化のため、指定できるインストール後スクリプトは 1 つのみです。パッケージのメンバーである Apex クラスである必要があります。
インストール後スクリプトは、テストを実行した後に呼び出され、デフォルトのガバナ制限が適用されます。パッケージを示す特殊なシステムユーザとして実行するため、スクリプトによって実行されるすべての操作は、パッケージによって行われているように見えます。このユーザには、UserInfo を使用してアクセスできます。このユーザは実行時にのみ確認でき、テストの実行中には確認できません。
スクリプトが失敗すると、インストール/アップグレードは中止されます。スクリプト内のエラーは、パッケージの [Apex エラーを通知] 項目に指定されたユーザにメールされます。ユーザが指定されていない場合、インストール/アップグレードの詳細は利用できません。
インストール後スクリプトには、他に次のような特性があります。
- バッチジョブ、スケジュールされたジョブ、および今後のジョブを開始できます。
- セッション ID にアクセスできません。
- 非同期操作を使用���るコールアウトのみを実行できます。コールアウトは、スクリプトが実行され、インストールが完了およびコミットされた後に実行されます。
- パッケージ内の別の Apex クラスで with sharing キーワードが使用されている場合、その Apex クラスをコールできません。このキーワードによってパッケージの正常なインストールが妨げられる可能性があります。詳細は『Apex 開発者ガイド』を参照してください。