Tooling APIをApexのコードを書いて呼び出すよりはPostmanを使って呼び出した方が簡単です。
Tooling API を使用するケース
Salesforce メタデータを他のシステムと統合するには、Tooling API を使用します。メタデータ型は sObject として公開されるため、複合型の 1 つのコンポーネントにアクセスできます。この項目レベルのアクセスにより、複合型のメタデータに対する操作時間を短縮できます。Force.com アプリケーション用のカスタム開発ツールを作成することもできます。たとえば、Tooling API を使用して、Apex クラスとトリガーや Visualforce ページとコンポーネントの作業コピーを管理およびリリースすることができます。また、チェックポイントまたはヒープダンプマーカーの設定、匿名 Apex の実行、ログ記録情報およびコードカバー率情報へのアクセスも可能です。
REST と SOAP は両方ともサポートされています。
組織のメタデータへのきめ細かいアクセスが必要な場合は、Tooling API を使用します。 多くのメタデータ型に対する Tooling API の SOQL 機能を使用すると、より小さなメタデータを取得できます。取得を小さくするとパフォーマンスが向上するため、Tooling API は対話型アプリケーションの開発により適しています。
Tooling API では、複合型内の 1 つの要素のみを変更できるため、メタデータ API よりも簡単に使用できます。その他の使用例は次のとおりです。
- ソース管理の統合
- 継続的インテグレーション
- Apex クラスまたはトリガーのデプロイメント
Tooling API を使用して実行できる特定のタスクのいくつかは次のとおりです。
オブジェクトのフィールドに関するメタデータを取得する
FieldDefinitionを使用します。
カスタムまたは標準のオブジェクト プロパティを取得する
EntityDefinitionを使用します。
Apex クラスとトリガ、Visualforce ページとコンポーネントの作業コピーを管理します。
ApexClassMember、ApexTriggerMember、ApexPageMember、ApexComponentMember、およびMetadataContainerを使用します。
静的リソース ファイルの作業コピーを管理します。
StaticResourceを使用します。
Apex クラスとトリガ、Visualforce ページとコンポーネントの作業用コピーの更新とエラーを確認します。
ContainerAsyncRequest
組織に変更をコミットします。
ContainerAsyncRequestを使用します。
ヒープダンプマーカーを設定します。
ApexExecutionOverlayActionを使用する
Apex コードまたは SOQL ステートメントを Apex 実行にオーバーレイします。
ApexExecutionOverlayActionを使用します。
匿名の Apex を実行します。
サンプル コードについては、「SOAP 呼び出しとREST の概要」を参照してください。
自分自身または他のユーザー用のログ ファイルを生成します。
TraceFlagを使用してチェックポイントを設定する
デバッグ ログとヒープ ダンプ ファイルにアクセスします。
ApexLogとApexExecutionOverlayResultを使用します。
カスタムオブジェクトのカスタムフィールドを管理します。
CustomField を使用します。
コード カバレッジの結果にアクセスします。
ApexCodeCoverage、ApexOrgwideCoverage、およびApexCodeCoverageAggregateを使用します。
テストを実行し、テスト結果を管理します。
ApexTestQueueItemとApexTestResultを使用します。
検証ルールとワークフロー ルールを管理します。
ValidationRuleとWorkflowRuleを使用します。
メタデータ API に対するTooling API の利点
How to use Tooling Api in Salesforce
- 使いやすさ: Tooling API は開発者向けに設計されており、コードの強調表示やエラー処理などの便利な機能が含まれているため、一般的に使いやすくなっています。
- より柔軟: Tooling API は、個々のフィールドやオブジェクトを含むメタデータ オブジェクトをきめ細かく操作できるため、メタデータ API よりも柔軟性が高くなります。
- リアルタイム更新: Tooling API を使用すると、メタデータ オブジェクトをリアルタイムで更新できます。これは、変更を迅速に行う必要がある状況で役立ちます。
- 実行時情報へのアクセス: Tooling API は、デバッグやトラブルシューティングに役立つ、Apex クラスやトリガに関するデータなど、組織に関する実行時情報へのアクセスを提供します。
- パフォーマンスの向上: Tooling API は、Apex コードの取得などの特定の操作ではメタデータ API よりも高速です。これは、この種のタスク用に最適化されているためです。