ページを選択

API: 結果

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 があります。

1 Passed
2 Blocked
3 Untested (結果を追加する場合は利用不可)
4 Retest
5 Failed

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 テスト結果を追加する権限、またはプロジェクトへのアクセス権がありません