この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

REST リソース

REST リソースを使用すると、Tooling API オブジェクトにアクセスできます。

REST リソース

使用方法、構文、および認証についての詳細は、『Force.com REST API 開発者ガイド』を参照してください。

たとえば、「REST Resource Examples」を参照します。

このセクションでは、Tooling API でサポートされる REST リソースを示します。

各 Tooling API REST リソースのベース URI は、http://domain/services/data/vXX.X/tooling/ です。domain は Salesforce インスタンスまたはカスタムドメイン、vXX.X は API バージョン番号です。例: https://yourInstance.salesforce.com/services/data/v35.0/tooling/

Force.com REST API と同様に、Tooling API は次のリソースを使用します。

/completions?type=
サポートされるメソッド: GET
参照される Apex システムメソッドシンボルの型 (type=apex) で使用可能なコード補完を取得します。API バージョン 28.0 以降で使用できます。
/executeAnonymous/?anonymousBody= <url encoded body>
サポートされるメソッド: GET
Apex コードを匿名で実行します。API バージョン 29.0 以降で使用できます。
/query/?q=SOQL_Query_Statement
サポートされるメソッド: GET
オブジェクトに対してクエリを実行し、指定の条件に一致したデータを返します。Tooling API は、外部オブジェクトフレームワークを使用する (データベースには存在せず動的に作成される)、EntityDefinition や FieldDefinition などのオブジェクトを公開します。仮想エンティティには特殊なクエリルールが適用されます。

クエリ結果が大きすぎる場合は、バッチに分割されます。応答には、結果の最初のバッチとクエリ識別子が含まれます。識別子は、要求で次のバッチを取得するために使用できます。

/runTestsAsynchronous//runTestsSynchronous/
リソース API バージョン 36.0 以前 API バージョン 37.0 以降
/runTestsAsynchronous/: GET
1/runTestsAsynchronous/?classids=
2<comma separated list of class IDs>

指定されたクラスでテストを実行します。テストを非同期で実行することでメソッドを並列処理し、テストの実行時間を削減します。

サポートされていません。
/runTestsAsynchronous/: カンマ区切りのリストを使用した POST
1/runTestsAsynchronous/ Body: 
2{"classids":"<comma-separated list
3   of class IDs>", 
4"suiteids":"<comma-separated list
5   of test suite IDs>", 
6"maxFailedTests":"<integer value>"}
  • 非同期テスト実行メカニズムを使用して、1 つ以上の Apex クラス内の 1 つ以上のメソッドを実行します。
  • suiteids リストと classids リストの両方を runTestsAsynchronous に POST できます。ただし、tests 配列を送信する場合、suiteidsclassids は送信できません。
  • 省略可能な maxFailedTests パラメータも POST できます。すべてのテストを実行できるようにするには、失敗するテストの数に関係なく、maxFailedTests を省略するか、-1 に設定します。指定した数のテストに失敗した後に新しいテストの実行を停止するには、maxFailedTests01,000,000 の整数値に設定します。この整数値で、許容されるテスト失敗の最大数を設定します。値を 0 に設定すると、1 回の失敗でテスト実行が停止されます。値を 1 に設定すると、2 回目の失敗でテスト実行が停止されます。以降も同様に処理されます。大きい値にすると、パフォーマンスが低下する可能性があることに注意してください。maxFailedTests 値に追加したテストの回数が 1,000 増えるごとに、テスト実行が約 3 秒長くなります (テストの実行にかかる時間は含まれません)。
1/runTestsAsynchronous/ Body: 
2{"classids":"<comma-separated list
3   of class IDs>", 
4"suiteids":"<comma-separated list
5   of test suite IDs>", 
6"maxFailedTests":"<integer value>",
7"testLevel":"<TestLevel enum value>"}
  • 非同期テスト実行メカニズムを使用して、1 つ以上の Apex クラス内の 1 つ以上のメソッドを実行します。
  • suiteids リストと classids リストの両方を runTestsAsynchronous に POST できます。ただし、tests 配列を送信する場合、suiteidsclassids は送信できません。
  • 省略可能な maxFailedTests パラメータも POST できます。すべてのテストを実行できるようにするには、失敗するテストの数に関係なく、maxFailedTests を省略するか、-1 に設定します。指定した数のテストに失敗した後に新しいテストの実行を停止するには、maxFailedTests01,000,000 の整数値に設定します。この整数値で、許容されるテスト失敗の最大数を設定します。値を 0 に設定すると、1 回の失敗でテスト実行が停止されます。値を 1 に設定すると、2 回目の失敗でテスト実行が停止されます。以降も同様に処理されます。大きい値にすると、パフォーマンスが低下する可能性があることに注意してください。maxFailedTests 値に追加したテストの回数が 1,000 増えるごとに、テスト実行が約 3 秒長くなります (テストの実行にかかる時間は含まれません)。
  • testLevel パラメータは省略可能です。testLevel 値を指定しない場合は、RunSpecifiedTests が使用されます。

    使用できる値は次のとおりです。
    RunSpecifiedTests
    指定したテストのみが実行されます。
    RunLocalTests
    インストール済みの管理パッケージから発生したテストを除き、組織のすべてのテストが実行されます。
    この値を使用する場合は、特定のテストの識別子を省略します。
    RunAllTestsInOrg
    すべてのテストが実行されます。テストには、管理パッケージのテストを含む、組織内のすべてのテストが含まれます。
    この値を使用する場合は、特定のテストの識別子を省略します。
/runTestsAsynchronous/: JSON を使用した POST
1/runTestsAsynchronous/ Body: 
2{"tests":<tests array>}
<tests array> の例:
1[{
2   "classId": "01pD0000000Fhy9IAC",
3   "testMethods": ["testMethod1",
4      "testMethod2", "testMethod3"
5   ]
6}, {
7   "classId": "01pD0000000FhyEIAS",
8   "testMethods": ["testMethod1",
9      "testMethod2", "testMethod3"
10   ]
11}, {
12   "maxFailedTests": "2"
13}]
  • 非同期テスト実行メカニズムを使用して、1 つ以上の Apex クラス内の 1 つ以上のメソッドを実行します。
  • <tests array> は Apex テストクラスを表すオブジェクトの配列で、各オブジェクトには classId パラメータ、testMethods パラメータ、および省略可能な maxFailedTests パラメータがあります。
  • testMethods 配列で重複するテストメソッド名は無視されます。存在しないテストメソッドはスキップされます。testMethods 配列が null または欠落している場合、テストクラス内のすべてのテストメソッドが実行されます。
  • すべてのテストを実行できるようにするには、失敗するテストの数に関係なく、maxFailedTests を省略するか、-1 に設定します。指定した数のテストに失敗した後に新しいテストの実行を停止するには、maxFailedTests01,000,000 の整数値に設定します。この整数値で、許容されるテスト失敗の最大数を設定します。値を 0 に設定すると、1 回の失敗でテスト実行が停止されます。値を 1 に設定すると、2 回目の失敗でテスト実行が停止されます。以降も同様に処理されます。大きい値にすると、パフォーマンスが低下する可能性があることに注意してください。maxFailedTests 値に追加したテストの回数が 1,000 増えるごとに、テスト実行が約 3 秒長くなります (テストの実行にかかる時間は含まれません)。
1/runTestsAsynchronous/ Body: 
2{"tests":<tests array>}
<tests array> の例:
1[{
2   "classId": "01pD0000000Fhy9IAC",
3   "testMethods": ["testMethod1",
4      "testMethod2", "testMethod3"
5   ]
6}, {
7   "classId": "01pD0000000FhyEIAS",
8   "testMethods": ["testMethod1",
9      "testMethod2", "testMethod3"
10   ]
11}, {
12   "maxFailedTests": "2"
13}, {
14   "testLevel": "RunSpecifiedTests"
15}]
  • 非同期テスト実行メカニズムを使用して、1 つ以上の Apex クラス内の 1 つ以上のメソッドを実行します。
  • <tests array> は Apex テストクラスを表すオブジェクトの配列で、各オブジェクトには classId パラメータと testMethods パラメータがあります。tests 配列には、省略可能な maxFailedTests パラメータと必須の testLevel パラメータも含まれます。
  • testMethods 配列で重複するテストメソッド名は無視されます。存在しないテストメソッドはスキップされます。testMethods 配列が null または欠落している場合、テストクラス内のすべてのテストメソッドが実行されます。
  • すべてのテストを実行できるようにするには、失敗するテストの数に関係なく、maxFailedTests を省略するか、-1 に設定します。指定した数のテストに失敗した後に新しいテストの実行を停止するには、maxFailedTests01,000,000 の整数値に設定します。この整数値で、許容されるテスト失敗の最大数を設定します。値を 0 に設定すると、1 回の失敗でテスト実行が停止されます。値を 1 に設定すると、2 回目の失敗でテスト実行が停止されます。以降も同様に処理されます。大きい値にすると、パフォーマンスが低下する可能性があることに注意してください。maxFailedTests 値に追加したテストの回数が 1,000 増えるごとに、テスト実行が約 3 秒長くなります (テストの実行にかかる時間は含まれません)。
  • testLevel パラメータは省略可能です。testLevel 値を指定しない場合は、RunSpecifiedTests が使用されます。

    使用できる値は次のとおりです。
    RunSpecifiedTests
    指定したテストのみが実行されます。
    RunLocalTests
    インストール済みの管理パッケージから発生したテストを除き、組織のすべてのテストが実行されます。
    この値を使用する場合は、特定のテストの識別子を省略します。
    RunAllTestsInOrg
    すべてのテストが実行されます。テストには、管理パッケージのテストを含む、組織内のすべてのテストが含まれます。
    この値を使用する場合は、特定のテストの識別子を省略します。
/runTestsSynchronous/: GET
1/runTestsSynchronous/?classnames=
2<comma-separated list of class names>

同期テスト実行メカニズムを使用して、指定されたクラスでテストを実行します。

サポートされていません。
/runTestsSynchronous/: POST
1/runTestsSynchronous/ Body:
2{"tests":<tests array>}
<tests array> の例:
1[{
2   "classId": "01pD0000000Fhy9IAC",
3   "testMethods": ["testMethod1",
4      "testMethod2", "testMethod3"
5   ]
6}, {
7   "maxFailedTests": "2"
8}]
  • 同期テスト実行メカニズムを使用して、Apex クラス内の 1 つ以上のメソッドを実行します。同期テスト実行でのすべてのテストメソッドは、同じクラス内にある必要があります。
  • <tests array> は 1 つの Apex テストクラスを表すオブジェクトの配列で、オブジェクトには classId パラメータ、testMethods パラメータ、および省略可能な maxFailedTests パラメータがあります。
  • testMethods 配列で重複するテストメソッド名は無視されます。存在しないテストメソッドはスキップされます。testMethods 配列が null または欠落している場合、テストクラス内のすべてのテストメソッドが実行されます。
  • すべてのテストを実行できるようにするには、失敗するテストの数に関係なく、maxFailedTests を省略するか、-1 に設定します。指定した数のテストに失敗した後に新しいテストの実行を停止するには、maxFailedTests01,000,000 の整数値に設定します。この整数値で、許容されるテスト失敗の最大数を設定します。値を 0 に設定すると、1 回の失敗でテスト実行が停止されます。値を 1 に設定すると、2 回目の失敗でテスト実行が停止されます。以降も同様に処理されます。大きい値にすると、パフォーマンスが低下する可能性があることに注意してください。maxFailedTests 値に追加したテストの回数が 1,000 増えるごとに、テスト実行が約 3 秒長くなります (テストの実行にかかる時間は含まれません)。
1/runTestsSynchronous/ Body:
2{"tests":<tests array>}
<tests array> の例:
1[{
2   "classId": "01pD0000000Fhy9IAC",
3   "testMethods": ["testMethod1",
4      "testMethod2", "testMethod3"
5   ]
6}, {
7   "maxFailedTests": "2"
8}]
  • 同期テスト実行メカニズムを使用して、Apex クラス内の 1 つ以上のメソッドを実行します。同期テスト実行でのすべてのテストメソッドは、同じクラス内にある必要があります。
  • <tests array> は 1 つの Apex テストクラスを表すオブジェクトの配列で、オブジェクトには classId パラメータ、testMethods パラメータ、および省略可能な maxFailedTests パラメータがあります。
  • testMethods 配列で重複するテストメソッド名は無視されます。存在しないテストメソッドはスキップされます。testMethods 配列が null または欠落している場合、テストクラス内のすべてのテストメソッドが実行されます。
  • すべてのテストを実行できるようにするには、失敗するテストの数に関係なく、maxFailedTests を省略するか、-1 に設定します。指定した数のテストに失敗した後に新しいテストの実行を停止するには、maxFailedTests01,000,000 の整数値に設定します。この整数値で、許容されるテスト失敗の最大数を設定します。値を 0 に設定すると、1 回の失敗でテスト実行が停止されます。値を 1 に設定すると、2 回目の失敗でテスト実行が停止されます。以降も同様に処理されます。大きい値にすると、パフォーマンスが低下する可能性があることに注意してください。maxFailedTests 値に追加したテストの回数が 1,000 増えるごとに、テスト実行が約 3 秒長くなります (テストの実行にかかる時間は含まれません)。
/search/?q=SOSL_Search_Statement
サポートされるメソッド: GET
指定された値を含むレコードを検索します。
/sobjects/
サポートされるメソッド: GET
使用可能な Tooling API のオブジェクトとそのメタデータをリストします。
/sobjects/SObjectName/
サポートされるメソッド: GET、POST
指定されたオブジェクトの個別のメタデータを説明するか、指定されたオブジェクトのレコードを作成します。
  • ApexExecutionOverlayAction オブジェクトのメタデータを取得するには、GET メソッドを使用します。
  • ApexExecutionOverlayAction オブジェクトを作成するには、POST メソッドを使用します。
/sobjects/SObjectName/describe/
サポートされるメソッド: GET
指定されたオブジェクトのすべてのレベルで、個別のメタデータを完全に説明します。

たとえば、Tooling API オブジェクトの項目、URL、および子リレーションを取得するためにこのリソースを使用します。

/sobjects/SObjectName/id/
サポートされるメソッド: GET、PATCH、DELETE
指定されたオブジェクト ID に基づいてレコードにアクセスします。

レコードまたは項目を取得するには GET メソッド、レコードを削除するには DELETE メソッド、レコードを更新するには PATCH メソッドを使用します。

/sobjects/ApexLog/id/Body/
サポートされるメソッド: GET
ID によって未加工のデバッグログを取得します。API バージョン 28.0 以降で使用できます。