Tooling API
Tooling API を使用すると、Salesforce アプリケーション用のカスタム開発ツールを作成できます。
Tooling API を使用するケース
Tooling API は、Force.com アプリケーション用のカスタム開発ツールを作成可能な SOAP および REST インターフェースを提供します。Tooling API は、開発者ツール作成で使用され、REST や SOAP からアクセスできるオブジェクトを公開します。また、Salesforce REST API や SOAP API と同様に機能します。
たとえば、Tooling API を使用して次のことができます。
- 既存の Force.com ツールに機能を追加する。
- Force.com 開発用の動的モジュールをエンタープライズインテグレーションツールに組み込む。
- 特定のアプリケーションまたはサービス専用の開発ツールを作成する。
- Apex クラスおよびトリガと Visualforce ページおよびコンポーネントの作業コピーを管理する。
- 静的リソースファイルの作業コピーを管理する。
- Apex クラスおよびトリガと Visualforce ページおよびコンポーネントの作業コピーに更新やエラーがないかチェックし、変更を組織にコミットする。
- ヒープダンプマーカーを設定する。
- Apex 実行時に Apex コードまたは SOQL ステートメントをフロート表示する。
- Apex を匿名実行する。
- チェックポイントを設定して自分または他のユーザ用にログファイルを生成する。
- デバッグログおよびヒープダンプファイルにアクセスする。
- カスタムオブジェクトのカスタム項目を管理する。
- コードカバー率の結果にアクセスする。
次の Java コードスニペットでは、Tooling API の SOAP ベースのインターフェースを使用して、SayHello というメソッドが 1 つ含まれる Apex クラスをプログラムで作成します。
1swfobject.registerObject("clippy.codeblock-0", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 String classBody = "public class Messages {\n"
18
19 + "public string SayHello() {\n"
20
21 + " return 'Hello';\n" + "}\n"
22
23 + "}";
24
25
26
27 // create a new ApexClass object and set the body
28
29 ApexClass apexClass = new ApexClass();
30
31 apexClass.Body = classBody;
32
33 ApexClass[] classes = { apexClass };
34
35
36
37 // call create() to add the class
38
39 SaveResult[] saveResults = sforce.create(classes);
40
41 for (int i = 0; i < saveResults.Length; i++)
42
43 {
44
45 if (saveResults[i].success)
46
47 {
48
49 Console.WriteLine("Successfully created Class: " +
50
51 saveResults[i].id);
52
53 }
54
55 else
56
57 {
58
59 Console.WriteLine("Error: could not create Class ");
60
61 Console.WriteLine(" The error reported was: " +
62
63 saveResults[i].errors[0].message + "\n");
64
65 }
66
67 }
68
69サポート対象のエディションとプラットフォーム
Tooling API を使用するには、組織で Enterprise Edition、Performance Edition、Unlimited Edition、または Developer Edition を使用している必要があります。既存の Salesforce のお客様が Enterprise Edition、Unlimited Edition、または Performance Edition にアップグレードする場合は、担当者にご連絡ください。