ページを選択

テスト計画

テスト計画に関する情報を取得したり、テスト計画を作成または変更するには、次の API メソッドを使用します。TestRail では、テスト計画を使用して複数のテスト ランをまとめたり、複数のブラウザー、OS、その他の設定に対して 1 つずつテスト ランを追加する代わりにテスト ランを自動生成できます。

get_plan

既存のテスト計画を返します。

GET index.php?/api/v2/get_plan/{plan_id}

パラメーター

名前 タイプ 必須 説明
plan_id integer true テスト 計画の ID

レスポンスの内容

レスポンスの例

{
    "id": 10,
    "name": "Release 1.0: Final (all browsers)",
    "description": null,
    "milestone_id": 3,
    "assignedto_id": null,
    "is_completed": false,
    "completed_on": null,
    "passed_count": 445,
    "blocked_count": 99,
    "untested_count": 473,
    "retest_count": 107,
    "failed_count": 56,
    "custom_status1_count": 0,
    "custom_status2_count": 0,
    "custom_status3_count": 0,
    "custom_status4_count": 0,
    "custom_status5_count": 0,
    "custom_status6_count": 0,
    "custom_status7_count": 0,
    "project_id": 1,
    "created_on": 1646058671,
    "created_by": 1,
    "url": "https://74trialapitesting.testrail.io/index.php?/plans/view/10",
    "entries": [
        {
            "id": "75698796-61d5-46e8-9c14-d334351f12d0",
            "suite_id": 1,
            "name": "Browser test",
            "refs": null,
            "description": null,
            "include_all": true,
            "runs": [
                {
                    "id": 13,
                    "suite_id": 1,
                    "name": "Browser test",
                    "description": null,
                    "milestone_id": 3,
                    "assignedto_id": null,
                    "include_all": true,
                    "is_completed": false,
                    "completed_on": null,
                    "passed_count": 88,
                    "blocked_count": 20,
                    "untested_count": 97,
                    "retest_count": 19,
                    "failed_count": 12,
                    "custom_status1_count": 0,
                    "custom_status2_count": 0,
                    "custom_status3_count": 0,
                    "custom_status4_count": 0,
                    "custom_status5_count": 0,
                    "custom_status6_count": 0,
                    "custom_status7_count": 0,
                    "project_id": 1,
                    "plan_id": 10,
                    "entry_index": 1,
                    "entry_id": "75698796-61d5-46e8-9c14-d334351f12d0",
                    "config": "Chrome",
                    "config_ids": [
                        3
                    ],
                    "created_on": 1646058671,
                    "refs": null,
                    "created_by": 1,
                    "url": "https://74trialapitesting.testrail.io/index.php?/runs/view/13"
                }
            ]
        }
    ]
}

レスポンスには次のフィールドが含まれています。

名前 タイプ 説明
assignedto_id integer テスト計画全体が割り当てられているユーザーの ID
blocked_count integer テスト計画内で blocked とマークされているテストの数
completed_on timestamp テスト計画がクローズされた日時 (UNIX タイムスタンプ)
created_by integer テスト計画を作成したユーザーの ID
created_on timestamp テスト計画が作成された日時 (UNIX タイムスタンプ)
custom_status?_count integer テスト計画内で該当するカスタム ステータスでマークされているテストの数
description string テスト計画の説明
entries array ‘entries’の配列、つまりテスト ランのグループ
failed_count integer テスト計画内で failed とマークされているテストの数
id integer テスト計画の一意の ID
is_completed boolean テスト計画がクローズされていれば true、そうでなければ false
milestone_id integer テスト計画が所属するマイルストーンの ID
name string テスト計画の名前
passed_count integer テスト計画内で passed とマークされているテストの数
project_id integer テスト計画が所属するプロジェクトの ID
refs string 外部要件の ID。カンマで区切ります (TestRail 6.3 以降が必要)
retest_count integer テスト計画内で retest とマークされているテストの数
untested_count integer テスト計画内で untested とマークされているテストの数
url string ユーザー インターフェイスに表示されるテスト計画のアドレス/URL

entries フィールドにはテスト計画の entries の配列が含まれます。テスト計画のエントリとは、 (ユーザー インターフェイスと同様に) 同じテスト スイートに所属する テスト ラン のグループです。各グループに含まれる テスト ランの量はさまざまであり、設定もサポートされています。add_plan および add_plan_entry も参照してください。

レスポンス コード

ステータス コード 説明
200 成功。テスト計画がレスポンスの一部として返されます
400 無効または不明なテスト計画
403 プロジェクトにアクセスできない
429 TestRail Cloud のみ – リクエストが多すぎます

get_plans

プロジェクトのテスト計画のリストを返します。

GET index.php?/api/v2/get_plans/{project_id}

パラメーター

名前 タイプ 必須 説明
project_id integer true プロジェクトの ID

リクエスト ボディ

名前 タイプ 必須 説明
created_after timestamp false この日付以降に作成されたテスト計画のみを返す (UNIX タイムスタンプ)
created_before timestamp false この日付以前に作成されたテスト計画のみを返す (UNIX タイムスタンプ)
created_by integer (list) false フィルタリングする作成者 (ユーザー ID) のカンマ区切りリスト。
is_completed boolean false 1 を指定すると完了したテスト計画だけを返します。0 を指定するとアクティブなテスト計画だけを返します。
limit/offset integer false 結果を :limit 個のテスト計画だけに制限します。レコードをスキップするには :offset を使用します。
milestone_id integer (list) false フィルタリングするマイルストーン ID のカンマ区切りリスト。

このメソッドは、最大で 250 のエントリを含むレスポンス配列を返します。それ以上のエントリを取得するには、下のリクエスト フィルター セクションで説明されているオフセット フィルターを使用して追加のリクエストを行います。

# All active test plans for project with ID 1 and milestone 2 or 3
GET index.php?/api/v2/get_plans/1&is_completed=0&milestone_id=2,3

レスポンスの内容

レスポンスにはテスト計画の配列が含まれます。リスト内の各テスト計画の形式は、レスポンスには entriesフィールドが含まれていないことを除いては、get_plan と同じです。

{
    "offset": 0,
    "limit": 250,
    "size": 1,
    "_links": {
        "next": null,
        "prev": null,
    },
    "plans": [
        {
            "id": 1,
            "name": "System test 1", 
            // ..
        },
        {
            "id": 2,
            "name": "System test 2", 
            // ..
        },
        // ..
    ]
}

レスポンス コード

ステータス コード 説明
200 成功。テスト計画がレスポンスの一部として返されます
400 無効または不明なテスト計画
403 プロジェクトにアクセスできない
429 TestRail Cloud のみ – リクエストが多すぎます

add_plan

新規テスト計画を作成します。

POST index.php?/api/v2/add_plan/{project_id}

パラメーター

名前 タイプ 必須 説明
project_id integer true テスト計画を追加するプロジェクトの ID

リクエスト ボディ

名前 タイプ 必須 説明
name string true テスト計画の名前
description string false テスト計画の説明
milestone_id integer false テスト計画をリンクするマイルストーンの ID
entries array false 計画に含まれる テスト ランを記述したオブジェクトの配列。以下の例と add_plan_entry を参照してください。

リクエストの例

次の例は、いくつかの テスト ラン を含む新しいテスト計画を作成する方法を示しています。

{
    "name": "System test",
    "entries": [
        {
            "suite_id": 1,
            "name": "Custom run name",
            "assignedto_id": 1 // ID of the assignee
        },
        {
            "suite_id": 1,
            "include_all": false, // Custom selection
            "case_ids": [1, 2, 3, 5]
        }
    ]
}

add_plan は テスト計画の設定(configurations) もサポートしています。

{
    "name": "System test",
    "entries": [
        {
            "suite_id": 1,
            "include_all": true,
            "config_ids": [1, 2, 4, 5, 6],
            "runs": [
                {
                    "include_all": false,
                    "case_ids": [1, 2, 3],
                    "assignedto_id": 1,
                    "config_ids": [2, 5]
                },
                {
                    "include_all": false,
                    "case_ids": [1, 2, 3, 5, 8],
                    "assignedto_id": 2,
                    "config_ids": [2, 6]
                }
                // ..
            ]
        },
        // ..
    ]
}

このサンプル リクエストは、TestRail のユーザー インターフェイスを使用してテスト計画と設定を管理する場合と同様に、テスト計画エントリごとに複数のテスト ランを作成します。詳細については下記の add_plan_entry を参照してください。

‘refs’ フィールドは TestRail 6.3 以降でサポートされています。

レスポンスの内容

成功した場合、このメソッドは get_plan と同じレスポンス形式を使用して新しいテスト計画を返します。

レスポンス コード

ステータス コード 説明
200 成功。テスト計画が作成され、レスポンスの一部として返されます
400 無効または不明なプロジェクト
403 テスト計画を追加する権限がない、またはプロジェクトへのアクセス権がない
429 TestRail Cloud のみ – リクエストが多すぎます

add_plan_entry

テスト計画に 1つまたはそれ以上の新しい テスト ラン を追加します。

POST index.php?/api/v2/add_plan_entry/{plan_id}

パラメーター

名前 タイプ 必須 説明
plan_id integer true テスト ラン を追加するテスト計画の ID

リクエスト ボディ

名前 タイプ 必須 説明
suite_id integer 説明を参照 テスト ランのテスト スイートの ID (複数のスイートを持つプロジェクトまたはベースライン サポートを持つプロジェクトでは必須)
name string false テスト ラン の名前
description string false テスト計画の説明
assignedto_id integer false 1 を指定すると完了したテスト計画だけを返します。0 を指定するとアクティブなテスト計画だけを返します。
include_all boolean false 結果を :limit 個のテスト計画だけに制限します。レコードをスキップするには :offset を使用します。
case_ids array false カスタム ケース選択用のテスト ケース ID の配列 (include_all が false の場合は必須)
config_ids array false テスト計画エントリの スト ランで使用される設定 ID の配列
refs string false 参照/要件のカンマ区切りのリスト
runs array false テスト ランの配列

リクエストの例

いくつかの テスト ラン と設定を含む新しいテスト計画エントリを作成する方法を示す次の例も参照してください。

{
    "suite_id": 1,
    "assignedto_id": 1,                 // Default assignee
    "include_all": true,                // Default selection
    "config_ids": [1, 2, 4, 5, 6],
    "runs": [
        {
            "include_all": false,       // Override selection
            "case_ids": [1, 2, 3],
            "config_ids": [2, 5]
        },
        {
            "include_all": false,       // Override selection
            "case_ids": [1, 2, 3, 5, 8],
            "assignedto_id": 2,         // Override assignee
            "config_ids": [2, 6]
        },
        // ..
    ]
}

この例では、runs フィールドの配列要素ごとに新しい テスト ラン が作成されます。最上位の assignedto_idinclude_all、および case_ids フィールドには、すべての テスト ラン のデフォルトの担当者および選択するテスト ケースを指定します。上記の例に示されているように、テスト ランごとにこれらのフィールドを上書きできます。

最上位の config_ids フィールドは、テスト ラン のリストで使用するすべての設定をまとめたリストを指定します。個々のテスト ランで参照されるすべての設定は、このフィールドに含まれていなければなりません。各テスト ランでは、設定グループごとに 1 つの設定を指定できます。設定グループを網羅した組み合わせを指定する必要があります。たとえば、次のような設定と設定グループがあるとします。

ID Group 設定
1 Browsers Chrome
2 Browsers Firefox
3 Browsers Internet Explorer
4 Operating Systems Windows 7
5 Operating Systems Windows 8
6 Operating Systems Ubuntu 12

例のトップレベルの  config_ids フィールドには、設定 1245 および 6 が含まれています。設定の組み合わせが有効であるためには、各設定グループから 1 つの設定を含める必要があります。したがって、有効な組み合わせは次のとおりです。

ID 組み合わせ
1,4 Chrome, Windows 7
1,5 Chrome, Windows 8
1,6 Chrome, Ubuntu 12
2,4 Firefox, Windows 7
2,5 Firefox, Windows 8
2,6 Firefox, Ubuntu 12

例では、これらの組み合わせのうち、 2,5 (Firefox、Windows 8) と 2,6 (Firefox、Ubuntu 12) の 2 つだけを含めることを選択しています。TestRail は、組み合わせごとに 1 つ、合計 2 つのテスト ランを追加します。

レスポンスの内容

成功した場合、このメソッドは、get_planentries フィールドと同じレスポンス形式を使用して、テスト ランを含む新しいテスト計画エントリを返します。エントリのリストではなく単一のエントリを返します。

レスポンス コード

ステータス コード 説明
200 テスト ラン が作成され、レスポンスの一部として返されます。テスト計画内の テスト ラン は ‘entries’ としてまとめられ、それぞれ独自の ID を持っています (update_plan_entry および delete_plan_entry で使用されます)。
400 無効または不明なテスト計画
403 テスト計画を変更する権限がない、またはプロジェクトへのアクセス権がない
429 TestRail Cloud のみ – リクエストが多すぎます

add_run_to_plan_entry

POST index.php?/api/v2/add_run_to_plan_entry/{plan_id}/{entry_id}

パラメーター

名前 タイプ 必須 説明
plan_id integer true テスト ラン を追加するテスト計画の ID
entry_id string true テスト計画エントリの ID

リクエスト ボディ

名前 タイプ 必須 説明
config_ids array true テスト計画エントリの テスト ランで使用される設定 ID の配列
description text false テスト ランの説明
assignedto_id integer false テスト ランを割り当てるユーザーの ID
include_all boolean false テスト スイートのすべてのテス トケースを含める場合は true、カスタム ケース選択の場合は false
case_ids array false カスタム ケース選択用のテスト ケース ID の配列 (include_all が false の場合は必須)
refs string false 参照/要件のカンマ区切りのリスト

リクエストの例

テスト計画エントリに新しいテスト ランを追加する方法を示す次の例も参照してください。

{
    "config_ids": [1, 5],
    "include_all": false,
    "case_ids": [1, 2, 4]
}

レスポンス コード

ステータス コード 説明
200 成功。テスト ランが更新され、レスポンスの一部として返されます
400 無効または不明なテスト計画またはテスト計画エントリ、または無効な POST のボディ
403 テスト計画を変更する権限がない、またはプロジェクトへのアクセス権がない
429 TestRail Cloud のみ – リクエストが多すぎます

update_plan

既存のテスト計画を更新します (部分的な更新がサポートされています。つまり、特定のフィールドのみを送信して更新できます)。

POST index.php?/api/v2/update_plan/{plan_id}

パラメーター

名前 タイプ 必須 説明
plan_id integer true テスト 計画の ID

entriesフィールドを除いて、このメソッドは add_plan と同じ POST フィールドをサポートします。

レスポンスの内容

成功した場合、このメソッドは get_plan と同じレスポンス形式を使用して更新されたテスト計画を返します。

レスポンス コード

ステータス コード 説明
200 成功。テスト計画が更新され、レスポンスの一部として返されます
400 無効または不明なテスト計画
403 テスト計画を変更する権限がない、またはプロジェクトへのアクセス権がない
429 TestRail Cloud のみ – リクエストが多すぎます

update_plan_entry

テスト計画に含まれる 1 つまたはそれ以上のテスト ランのグループを更新します (部分的な更新がサポートされています。つまり、特定のフィールドのみを送信して更新できます)。

POST index.php?/api/v2/update_plan_entry/{plan_id}/{entry_id}

パラメーター

名前 タイプ 必須 説明
plan_id integer true テスト 計画の ID
entry_id string true テスト計画エントリの ID (注意: テスト ランの IDではありません)

リクエスト ボディ

名前 タイプ 必須 説明
name string true テスト ラン の名前
description text false テスト ラン の説明 (TestRail 5.2 以降が必要)
assignedto_id integer false テスト ランを割り当てるユーザーの ID
include_all boolean false テスト スイートのすべてのテス トケースを含める場合は true、カスタム ケース選択の場合は false (デフォルト値: true)
case_ids array false カスタム ケース選択用のテスト ケース ID の配列 (include_all が false の場合は必須)
refs string false 外部要件の ID。カンマで区切ります (TestRail 6.3 以降が必要)

update_plan_entry エンドポイントの POST 呼び出しでは、config_ids および runs フィールドはサポートされていません。

レスポンスの内容

成功した場合、このメソッドは、get_planentries フィールドと同じレスポンス形式を使用して、テスト ランを含む新しいテスト計画エントリを返します。エントリのリストではなく単一のエントリを返します。

レスポンス コード

ステータス コード 説明
200 成功。テスト ランが更新され、レスポンスの一部として返されます。
400 無効または不明なテスト計画またはエントリ
403 テスト計画を変更する権限がない、またはプロジェクトへのアクセス権がない
429 TestRail Cloud のみ – リクエストが多すぎます

update_run_in_plan_entry

計画エントリ内の設定を使用するランを更新します。

POST index.php?/api/v2/update_run_in_plan_entry/{run_id}

パラメーター

名前 タイプ 必須 説明
run_id integer true テスト ランの ID

リクエスト ボディ

Name タイプ 必須 説明
description text false テスト ランの説明
assignedto_id integer false テスト ランを割り当てるユーザーの ID
include_all boolean false テスト スイートのすべてのテス トケースを含める場合は true、カスタム ケース選択の場合は false (デフォルト値: true)
case_ids array 説明を参照 カスタム ケース選択用のテスト ケース ID の配列 (include_all が false の場合は必須)
refs string false 外部要件の ID。カンマで区切ります (TestRail 6.3 以降が必要)

リクエストの例

テスト計画エントリ内の設定を使用するランを更新する方法を示す次の例も参照してください。

{
    "include_all": false,
    "case_ids": [1,2,4]
}

レスポンス コード

ステータス コード 説明
200 成功。テスト ランが更新され、レスポンスの一部として返されます
400 無効または不明なテスト ラン、または無効な POST のボディ
403 テスト計画を変更する権限がない、またはプロジェクトへのアクセス権がない
429 TestRail Cloud のみ – リクエストが多すぎます

close_plan

テスト計画のクローズを元に戻すことはできません。

既存のテスト計画を閉じて、そのテスト ランと結果をアーカイブします。

POST index.php?/api/v2/close_plan/{plan_id}

パラメーター

名前 タイプ 必須 説明
plan_id integer true テスト 計画の ID

レスポンスの内容

成功した場合、このメソッドは get_plan と同じレスポンス形式を使用してクローズされたテスト計画を返します。

レスポンス コード

ステータス コード 説明
200 成功、テスト計画とそのすべてのテスト ランがクローズ (アーカイブ化) されました。テスト計画およびそのテスト ランがレスポンスの一部として返されます
400 無効または不明なテスト計画
403 テスト計画をクローズする権限がない、またはプロジェクトへのアクセス権がない
429 TestRail Cloud のみ – リクエストが多すぎます

delete_plan

テスト計画の削除を元に戻すことはできず、テスト計画のすべてのテスト ランと結果も永久に削除されます。

既存のテスト計画を削除します。

POST index.php?/api/v2/close_plan/{plan_id}

パラメーター

名前 タイプ 必須 説明
plan_id integer true テスト 計画の ID

レスポンス コード

ステータス コード 説明
200 成功。テスト計画とそのすべてのテスト ランが削除されました。
400 無効または不明なテスト計画
403 テスト計画を削除する権限がない、またはプロジェクトへのアクセス権がない
429 TestRail Cloud のみ – リクエストが多すぎます

delete_plan_entry

テスト計画の削除を元に戻すことはできず、テスト計画のすべてのテスト ランと結果も永久に削除されます。

テスト計画から 1つまたはそれ以上のテスト ランを削除します。

POST index.php?/api/v2/delete_plan_entry/{plan_id}/{entry_id}

パラメーター

名前 タイプ 必須 説明
plan_id integer true テスト 計画の ID
entry_id string true テスト計画エントリの ID (注意: テスト ランの IDではありません)

レスポンス コード

ステータス コード 説明
200 成功。テスト ランはテスト計画から削除されました
400 無効または不明なテスト計画またはエントリ
403 テスト計画を削除する権限がない、またはプロジェクトへのアクセス権がない
429 TestRail Cloud のみ – リクエストが多すぎます

delete_run_from_plan_entry

テスト計画エントリからテスト ランを削除します。

POST index.php?/api/v2/delete_run_from_plan_entry/{run_id}

パラメーター

名前 タイプ 必須 説明
run_id integer true テスト ランの ID

レスポンス コード

ステータス コード 説明
200 成功。テスト ランはテスト計画から削除されました
400 無効または不明なテスト計画またはエントリ
403 テスト計画を削除する権限がない、またはプロジェクトへのアクセス権がない
429 TestRail Cloud のみ – リクエストが多すぎます