SandboxPostCopy インターフェース
Sandbox 環境をビジネス対応にするために、データ操作またはビジネスロジックタスクを自動化します。このインターフェースを拡張してコピー後タスクを実行するメソッドを追加してから、Sandbox の作成時にクラスを指定します。
名前空間
使用方法
このインターフェースを実装する Apex クラスを作成します。Sandbox 作成中にクラスを指定します。Sandbox が作成されたら、自動化プロセスユーザの権限を使用してクラスの runApexClass(context) メソッドが実行されます。
SandboxPostCopy のメソッド
SandboxPostCopy のメソッドは次のとおりです。
SandboxPostCopy の実装例
SandboxPostCopy インターフェースの簡単な実装とその実装のテストの例を次に示します。SandboxPostCopy 実装をテストするには、System.Test.testSandboxPostCopyScript() メソッドを使用します。
これは、System.SandboxPostCopy インターフェースの実装例です。
1global class PrepareMySandbox implements SandboxPostCopy {
2 global void runApexClass(SandboxContext context) {
3 System.debug('Org ID: ' + context.organizationId());
4 System.debug('Sandbox ID: ' + context.sandboxId());
5 System.debug('Sandbox Name: ' + context.sandboxName());
6
7 // Insert logic here to prepare the sandbox for use.
8 }
9}次の例では、System.Test.testSandboxPostCopyScript() メソッドを使用して実装をテストします。このメソッドは、SandboxPostCopy インターフェースを実装するクラスの 1 つの参照と、runApexClass(context) メソッドに渡すコンテキストオブジェクトの 3 つの項目の合計 4 つのパラメータを取ります。
1@isTest
2class PrepareMySandboxTest {
3
4 @isTest
5 static void testMySandboxPrep() {
6 // Insert logic here to create records of the objects that the class you’re testing
7 // manipulates.
8
9 Test.startTest();
10
11 Test.testSandboxPostCopyScript(
12 new PrepareMySandbox(), UserInfo.getOrganizationId(),
13 UserInfo.getOrganizationId(), UserInfo.getOrganizationName());
14
15 Test.stopTest();
16
17 // Insert assert statements here to check that the records you created above have
18 // the values you expect.
19 }
20}テストについての詳細は、「Apex のテスト」を参照してください。