API: 結果
テスト結果に関する情報を取得したり、テスト結果を追加するには、次の API メソッドを使用します。
get_results
1 つのテストに対する結果のリストを返します。
GET index.php?/api/v2/get_results/:test_id
:test_id | テストの ID |
:limit | レスポンスに表示されるテスト結果数の上限 (任意パラメーター。デフォルトのレスポンス サイズは 250) |
:offset | レスポンスの開始する位置 (任意パラメーター) |
このメソッドは、最大で 250 のエントリを含むレスポンス配列を返します。それ以上のエントリを取得するには、下のリクエスト フィルター セクションで説明されているオフセット フィルターを使用して追加のリクエストを行います。
リクエスト フィルター
以下のフィルターを適用できます。
名前 | タイプ | 説明 |
---|---|---|
:defects_filter | string | 単一の欠陥 ID (例: TR-1, 4291, など) |
:limit/:offset | int | 結果を :limit 個のテスト結果だけに制限します。レコードをスキップするには :offset を使用します。 |
:status_id | int (list) | フィルタリングするステータス ID のカンマ区切りリスト。 |
# The latest 10 results for test with ID 1 and statuses 4 or 5 (Retest, Failed) GET index.php?/api/v2/get_results/1&status_id=4,5&limit=10
レスポンスの内容
典型的なレスポンスについては、下記を参照してください。
[ { "assignedto_id": 1, "comment": "This test failed: ..", "created_by": 1, "created_on": 1393851801, "custom_step_results: [ { .. }, .. ] "defects": "TR-1", "elapsed": "5m", "id": 1, "status_id": 5, "test_id": 1, "version": "1.0RC1" }, .. ]
注意: 2021 年 2 月 26日から、一括 GET API エンドポイントが返すデータの構造が変更されます。これらの一括エンドポイントは、すべてのエントリの配列ではなく、追加のページ分割フィールドを持つオブジェクトと、250 エンティティまでの配列を返します。新しいレスポンス構造を確認し、必要に応じたコードの変更をテストするには、API リクエストに次のヘッダーと値を含めます: x-api-ident: beta
新しいレスポンスの内容
典型的なレスポンスについては、下記を参照してください。
{ "offset": 0, "limit": 250, "size": 250, "_links": { "next": "/api/v2/get_results/131071&limit=250&offset=250", "prev": null }, "results": [ { "assignedto_id": 1, "comment": "This test failed: ..", "created_by": 1, "created_on": 1393851801, "custom_step_results: [ { .. }, .. ] "defects": "TR-1", "elapsed": "5m", "id": 1, "status_id": 5, "test_id": 1, "version": "1.0RC1" }, .. ] }
レスポンスには次のシステム項目が常に含まれています。
名前 | タイプ | 説明 |
---|---|---|
assignedto_id | int | テスト結果の担当者 (ユーザー) のID |
comment | string | テスト結果のコメントまたはエラー メッセージ |
created_by | int | テスト結果を作成したユーザーの ID |
created_on | timestamp | テスト結果が作成された日時 (UNIX タイムスタンプ) |
defects | string | テスト結果にリンクされている欠陥のカンマ区切りリスト |
elapsed | timespan | テストの実行に要した時間 (例: “1m” または “2m 30s”) |
id | int | テスト結果の一意の ID |
status_id | int | テスト結果のステータス (passed または failed など)。get_statuses も参照してください。 |
test_id | int | テスト結果が所属するテストの ID |
version | string | テストが実行された (ビルド) バージョン |
レスポンスにはカスタム フィールドも含まれており、先頭に ‘custom_’ を付けたシステム名がフィールド名として使用されます。利用可能なカスタム フィールド タイプの一覧は add_result を参照してください。
レスポンス コード
200 | 成功。テスト計画がレスポンスの一部として返されます |
400 | 無効または不明なテスト ID です |
403 | プロジェクトにアクセスできません |
get_results_for_case
1 つの テスト ラン とテスト ケースの組み合わせに対する結果のリストを返します。
get_results との違いは、このメソッドはテスト ケースではなく テスト ラン とテスト ケースの組み合わせを受け取ることです。TestRailでは、テストは テスト ラン の一部であり、テスト ケースは関連するテスト スイートの一部です。そのため、新しい テスト ラン を作成すると、TestRail は テスト ラン のテスト スイートに含まれる各テスト ケースに対してテストを作成します。したがって、テストとは、テスト結果、コメント、およびテスト ステータスを持った、テスト ケースの「インスタンス」と考えることができます。テスト ケースとテストの違いの詳細については、TestRail の入門ガイドも参照してください。
GET index.php?/api/v2/get_results_for_case/:run_id/:case_id
:run_id | テスト ラン の ID |
:case_id | テスト ケースの ID |
このメソッドは、最大で 250 のエントリを含むレスポンス配列を返します。それ以上のエントリを取得するには、下のリクエスト フィルター セクションで説明されているオフセット フィルターを使用して追加のリクエストを行います。
リクエスト フィルター
以下のフィルターを適用できます。
名前 | タイプ | 説明 |
---|---|---|
:defects_filter | string | 単一の欠陥 ID (例: TR-1, 4291, など) |
:limit | integer | レスポンスが返すテスト結果の数 (デフォルトのレスポンスのサイズは 250) |
:offset | integer | テスト結果のカウントを開始する位置 (オフセット) |
:status_id | int (list) | フィルタリングするステータス ID のカンマ区切りリスト。 |
# All results for test run with ID 1 and test case with ID 2 GET index.php?/api/v2/get_results_for_case/1/2
レスポンスの内容
このメソッドは、get_results と同じレスポンス フォーマットを使用します。
注意: 2021 年 2 月 26日から、一括 GET API エンドポイントが返すデータの構造が変更されます。これらの一括エンドポイントは、すべてのエントリの配列ではなく、追加のページ分割フィールドを持つオブジェクトと、250 エンティティまでの配列を返します。新しいレスポンス構造を確認し、必要に応じたコードの変更をテストするには、API リクエストに次のヘッダーと値を含めます: x-api-ident: beta
レスポンス コード
200 | 成功。テスト計画がレスポンスの一部として返されます |
400 | 無効または不明なテスト ケース ID です |
403 | プロジェクトにアクセスできません |
get_results_for_run
1 つの テスト ラン に対する結果のリストを返します。
GET index.php?/api/v2/get_results_for_run/:run_id
:run_id | テスト ラン の ID |
このメソッドは、最大で 250 のエントリを含むレスポンス配列を返します。それ以上のエントリを取得するには、下のリクエスト フィルター セクションで説明されているオフセット フィルターを使用して追加のリクエストを行います。
リクエスト フィルター
以下のフィルターを適用できます
名前 | タイプ | 説明 |
---|---|---|
:created_after | timestamp | この日付以降に作成されたテスト結果のみを返す (UNIX タイムスタンプ) |
:created_before | timestamp | この日付以前に作成されたテスト結果のみを返す (UNIX タイムスタンプ) |
:created_by | int (list) | フィルタリングする作成者 (ユーザー ID) のカンマ区切りリスト。 |
:defects_filter | string | 単一の欠陥 ID (例: TR-1, 4291, など) |
:limit | int | レスポンスに表示されるテスト結果数の上限 (任意パラメーター。デフォルトのレスポンス サイズは 250) |
:offset | int | レスポンスの開始する位置 (任意パラメーター) |
:status_id | int (list) | フィルタリングするステータス ID のカンマ区切りリスト。 |
# The latest 10 results for test run with ID 1 created by user 5 GET index.php?/api/v2/get_results_for_run/1&created_by=5&limit=10
レスポンスの内容
このメソッドは、get_results と同じレスポンス フォーマットを使用します。
注意: 2021 年 2 月 26日から、一括 GET API エンドポイントが返すデータの構造が変更されます。これらの一括エンドポイントは、すべてのエントリの配列ではなく、追加のページ分割フィールドを持つオブジェクトと、250 エンティティまでの配列を返します。新しいレスポンス構造を確認し、必要に応じたコードの変更をテストするには、API リクエストに次のヘッダーと値を含めます: x-api-ident: beta
レスポンス コード
200 | 成功。テスト計画がレスポンスの一部として返されます |
400 | 無効または不明な テスト ラン ID です |
403 | プロジェクトにアクセスできません |
add_result
新しいテスト結果を追加したり、コメントを付けたり、テストを割り当てたりします。複数のテストに結果を追加する場合は、add_results を使用することをお勧めします。
POST index.php?/api/v2/add_result/:test_id
:test_id | テスト結果を追加するテストの ID |
リクエスト フィールド
以下の POST フィールドがサポートされています (システムフィールド)。
名前 | タイプ | 説明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
status_id | int | テスト ステータスの ID。組み込みシステムのステータスには、次の ID があります。
get_statuses を使用すると、システム ステータスおよびカスタム ステータスの完全なリストを取得できます。 |
||||||||||
comment | string | テスト結果のコメント/説明 | ||||||||||
version | string | テストしたバージョンまたはビルド | ||||||||||
elapsed | timespan | テストの実行に要した時間 (例: “30s” または “1m 45s”) | ||||||||||
defects | string | テスト結果にリンクされている欠陥のカンマ区切りリスト | ||||||||||
assignedto_id | int | テスト を割り当てるユーザーの ID |
カスタム フィールドもサポートされています。システム名の頭に ‘custom_’ を付けて送信します。例:
{ .. "custom_comment": "This is a custom comment" .. }
以下のカスタム フィールドタイプがサポートされています。
名前 | タイプ | 説明 |
---|---|---|
Checkbox | bool | オンの場合は true、オフの場合は false |
Date | string | TestRail および API ユーザー用に設定されたのと同じ形式の日付 (例 “07/08/2013”) |
Dropdown | int | フィールド設定で設定されたドロップダウン値の ID |
Integer | int | 有効な整数 |
Milestone | int | カスタム フィールドのマイルストーンの ID |
Multi-select | array | フィールド設定で設定された ID の配列 |
Step Results | array | ステップの結果を指定するオブジェクトの配列。以下の例も参照してください。 |
String | string | 最大 250 文字までの有効な文字列 |
Text | string | 長さの制限がない文字列 |
URL | string | URL の構文と一致する文字列 |
User | int | カスタム フィールドのユーザーの ID |
リクエストの例
構造化ステップを使用してステップの結果を送信する方法を示す次の例も参照してください。
{ "status_id": 5, "comment": "This test failed", "elapsed": "15s", "defects": "TR-7", "version": "1.0 RC1 build 3724", .., "custom_step_results": [ { "content": "Step 1", "expected": "Expected Result 1", "actual": "Actual Result 1", "status_id": 1 }, { "content": "Step 2", "expected": "Expected Result 2", "actual": "Actual Result 2", "status_id": 2 }, .. ] .. }
レスポンスの内容
成功した場合、このメソッドは、get_results と同じレスポンス形式を使用して、新しいテスト結果を返します。結果のリストではなく単一の結果を返します。
レスポンス コード
200 | 成功。テスト結果が作成され、レスポンスの一部として返されます |
400 | 無効または不明なテスト ID です |
403 | テスト結果を追加する権限、またはプロジェクトへのアクセス権がありません |
add_result_for_case
新しいテスト結果を追加したり、コメントを付けたり、テストを割り当てたりします (対象は テスト ラン とテスト ケースの組み合わせ)。複数のテスト ケースに結果を追加する場合は、add_results_for_cases を使用することをお勧めします。
add_result との違いは、このメソッドはテスト ケースではなく テスト ラン とテスト ケースの組み合わせを受け取ることです。TestRailでは、テストは テスト ラン の一部であり、テスト ケースは関連するテスト スイートの一部です。そのため、新しい テスト ラン を作成すると、TestRail は テスト ラン のテスト スイートに含まれる各テスト ケースに対してテストを作成します。したがって、テストとは、テスト結果、コメント、およびテスト ステータスを持った、テスト ケースの「インスタンス」と考えることができます。テスト ケースとテストの違いの詳細については、TestRail の入門ガイドも参照してください。
POST index.php?/api/v2/add_result_for_case/:run_id/:case_id
:run_id | テスト ラン の ID |
:case_id | テスト ケースの ID |
このメソッドは add_result と同じ POST フィールドをサポートします。
レスポンスの内容
成功した場合、このメソッドは、get_results と同じレスポンス形式を使用して、新しいテスト結果を返します。結果のリストではなく単一の結果を返します。
レスポンス コード
200 | 成功。テスト結果が作成され、レスポンスの一部として返されます |
400 | Invalid or unknown test run or case |
403 | テスト結果を追加する権限、またはプロジェクトへのアクセス権がありません |
add_results
1 つまたはそれ以上の新しいテスト結果を追加したり、コメントを付けたり、1 つまたはそれ以上のテストを割り当てます。1 ステップで複数のテスト結果をまとめて追加するテスト自動化に最適です。
POST index.php?/api/v2/add_results/:run_id
:run_id | テスト結果を追加する テスト ラン の ID |
このメソッドはテスト結果の配列を受け取ります (‘results’ フィールドで。詳細は以下を参照)。各テスト結果はテスト ID を指定する必要があり、add_result と同じフィールド、つまりテストに関連するすべてのシステム フィールドおよびカスタム フィールドを渡すことができます。
参照されるすべてのテストは、同じ テスト ラン に所属している必要があります。
リクエストの例
次のリストは典型的なリクエストの例を示しています。テストに加えて、結果ごとに少なくとも 1 つのステータス、コメント、または担当者フィールドを指定する必要があります。
{ "results": [ { "test_id": 101, "status_id": 5, "comment": "This test failed", "defects": "TR-7" }, { "test_id": 102, "status_id": 1, "comment": "This test passed", "elapsed": "5m", "version": "1.0 RC1" }, .. { "test_id": 101, "assignedto_id": 5, "comment": "Assigned this test to Joe" }, .. ] }
レスポンスの内容
成功した場合、このメソッドは、get_results と同じレスポンス形式を使用して、リクエストのリストと同じ順序で新しいテスト結果を返します。
レスポンス コード
200 | 成功。テスト結果が作成され、レスポンスの一部として返されます |
400 | 無効または不明な テスト ラン/テスト ID です |
403 | テスト結果を追加する権限、またはプロジェクトへのアクセス権がありません |
add_results_for_cases
1 つまたはそれ以上の新しいテスト結果を追加したり、コメントを付けたり、1 つまたはそれ以上のテストを割り当てます (テスト ケース ID を使用)。1 ステップで複数のテスト結果をまとめて追加するテスト自動化に最適です。
POST index.php?/api/v2/add_results_for_cases/:run_id
:run_id | テスト結果を追加する テスト ラン の ID |
このメソッドはテスト結果の配列を受け取ります (‘results’ フィールドで。詳細は以下を参照)。各テスト結果はテスト ケース ID を指定する必要があり、add_result と同じフィールド、つまりテストに関連するすべてのシステム フィールドおよびカスタム フィールドを渡すことができます。
add_results との違いは、このメソッドはテスト ID ではなくテスト ケース ID を受け取ることです。詳細は add_result_for_case を参照してください。
参照されるすべてのテストは、同じ テスト ランに所属している必要があります。
リクエストの例
次のリストは典型的なリクエストの例を示しています。テスト ケースに加えて、結果ごとに少なくとも 1 つのステータス、コメント、または担当者フィールドを指定する必要があります。
{ "results": [ { "case_id": 1, "status_id": 5, "comment": "This test failed", "defects": "TR-7" }, { "case_id": 2, "status_id": 1, "comment": "This test passed", "elapsed": "5m", "version": "1.0 RC1" }, .. { "case_id": 1, "assignedto_id": 5, "comment": "Assigned this test to Joe" }, .. ] }
レスポンスの内容
成功した場合、このメソッドは、get_results と同じレスポンス形式を使用して、リクエストのリストと同じ順序で新しいテスト結果を返します。
レスポンス コード
200 | 成功。テスト結果が作成され、レスポンスの一部として返されます |
400 | 無効または不明な テスト ラン/テスト ケース ID です |
403 | テスト結果を追加する権限、またはプロジェクトへのアクセス権がありません |