テスト計画に関する情報を取得したり、テスト計画を作成または変更するには、次の 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_id、include_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 フィールドには、設定 1、2、4、5 および 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_plan の entries フィールドと同じレスポンス形式を使用して、テスト ランを含む新しいテスト計画エントリを返します。エントリのリストではなく単一のエントリを返します。
レスポンス コード
| ステータス コード | 説明 |
|---|---|
| 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_plan の entries フィールドと同じレスポンス形式を使用して、テスト ランを含む新しいテスト計画エントリを返します。エントリのリストではなく単一のエントリを返します。
レスポンス コード
| ステータス コード | 説明 |
|---|---|
| 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 のみ – リクエストが多すぎます |