API: 計画
テスト計画に関する情報を取得したり、テスト計画を作成または変更するには、次の API メソッドを使用します。
get_plan
既存のテスト計画を返します。
GET index.php?/api/v2/get_plan/:plan_id
| :plan_id | テスト 計画の ID |
レスポンスの内容
典型的なレスポンスについては、次のサンプルを参照してください。
{
"assignedto_id": null,
"blocked_count": 2,
"completed_on": null,
"created_by": 1,
"created_on": 1393845644,
"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,
"description": null,
"entries": [
{
"id": "3933d74b-4282-4c1f-be62-a641ab427063",
"description": null,
"include_all": true,
"name": "File Formats",
"runs": [
{
"assignedto_id": 6,
"blocked_count": 0,
"completed_on": null,
"config": "Firefox, Ubuntu 12",
"config_ids": [
2,
6
],
"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,
"description": null,
"entry_id": "3933d74b-4282-4c1f-be62-a641ab427063",
"entry_index": 1,
"failed_count": 2,
"id": 81,
"include_all": false,
"is_completed": false,
"milestone_id": 7,
"name": "File Formats",
"passed_count": 2,
"plan_id": 80,
"project_id": 1,
"retest_count": 1,
"refs": "RF-1, RF-2",
"suite_id": 4,
"untested_count": 3,
"url": "http://<server>/testrail/index.php?/runs/view/81"
},
{
..
}
],
"refs": "RF-1, RF-2",
"suite_id": 4
}
],
"failed_count": 2,
"id": 80,
"is_completed": false,
"milestone_id": 7,
"name": "System test",
"passed_count": 5,
"project_id": 1,
"retest_count": 1,
"untested_count": 6,
"url": "http://<server>/testrail/index.php?/plans/view/80"
}
レスポンスには次のフィールドが含まれています。
| 名前 | タイプ | 説明 |
|---|---|---|
| assignedto_id | int | テスト計画全体が割り当てられているユーザーの ID |
| blocked_count | int | テスト計画内で blocked とマークされているテストの数 |
| completed_on | timestamp | テスト計画がクローズされた日時 (UNIX タイムスタンプ) |
| created_by | int | テスト計画を作成したユーザーの ID |
| created_on | timestamp | テスト計画が作成された日時 (UNIX タイムスタンプ) |
| custom_status?_count | int | テスト計画内で該当するカスタム ステータスでマークされているテストの数 |
| description | string | テスト計画の説明 |
| entries | array | ‘entries’の配列、つまりテスト ランのグループ |
| failed_count | int | テスト計画内で failed とマークされているテストの数 |
| id | int | テスト計画の一意の ID |
| is_completed | bool | テスト計画がクローズされていれば true、そうでなければ false |
| milestone_id | int | テスト計画が所属するマイルストーンの ID |
| name | string | テスト計画の名前 |
| passed_count | int | テスト計画内で passed とマークされているテストの数 |
| project_id | int | テスト計画が所属するプロジェクトの ID |
| refs | string | 外部要件の ID。カンマで区切ります (TestRail 6.3 以降が必要) |
| retest_count | int | テスト計画内で retest とマークされているテストの数 |
| untested_count | int | テスト計画内で untested とマークされているテストの数 |
| url | string | ユーザー インターフェイスに表示されるテスト計画のアドレス/URL |
entries フィールドにはテスト計画の entries の配列が含まれます。テスト計画のエントリとは、 (ユーザー インターフェイスと同様に) 同じテスト スイートに所属する テスト ラン のグループです。各グループに含まれる テスト ラン の量はさまざまであり、設定もサポートされています。add_plan および add_plan_entry も参照してください。
レスポンス コード
| 200 | 成功。テスト計画がレスポンスの一部として返されます |
| 400 | 無効または不明なテスト計画 ID です |
| 403 | プロジェクトにアクセスできません |
get_plans
プロジェクトのテスト計画のリストを返します。
GET index.php?/api/v2/get_plans/:project_id
| :project_id | プロジェクトの ID |
このメソッドは、最大で 250 のエントリを含むレスポンス配列を返します。それ以上のエントリを取得するには、下のリクエスト フィルター セクションで説明されているオフセット フィルターを使用して追加のリクエストを行います。
リクエスト フィルター
以下のフィルターを適用できます。
| 名前 | タイプ | 説明 |
|---|---|---|
| :created_after | timestamp | この日付以降に作成されたテスト計画のみを返す (UNIX タイムスタンプ) |
| :created_before | timestamp | この日付以前に作成されたテスト計画のみを返す (UNIX タイムスタンプ) |
| :created_by | int (list) | フィルタリングする作成者 (ユーザー ID) のカンマ区切りリスト。 |
| :is_completed | bool | 1 を指定すると完了したテスト計画だけを返します。0 を指定するとアクティブなテスト計画だけを返します。 |
| :limit/:offset | int | 結果を :limit 個のテスト計画だけに制限します。レコードをスキップするには :offset を使用します。 |
| :milestone_id | int (list) | フィルタリングするマイルストーン ID のカンマ区切りリスト。 |
# 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 と同じです。
[
{
"id": 1,
"name": "System test 1",
..
},
{
"id": 2,
"name": "System test 2",
..
},
..
]注意: 2021 年 2 月 26日から、一括 GET API エンドポイントが返すデータの構造が変更されます。これらの一括エンドポイントは、すべてのエントリの配列ではなく、追加のページ分割フィールドを持つオブジェクトと、250 エンティティまでの配列を返します。新しいレスポンス構造を確認し、必要に応じたコードの変更をテストするには、API リクエストに次のヘッダーと値を含めます: x-api-ident: beta
新しいレスポンスの内容
レスポンスにはテスト計画の配列が含まれます。リスト内の各テスト計画の形式は、レスポンスには 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 | 無効または不明なプロジェクト ID です |
| 403 | プロジェクトにアクセスできません |
add_plan
新規テスト計画を作成します。
POST index.php?/api/v2/add_plan/:project_id
| :project_id | テスト計画を追加するプロジェクトの ID |
リクエスト フィールド
以下の POST フィールドがサポートされています。
| 名前 | タイプ | 説明 |
|---|---|---|
| name | string | テスト計画の名前 (必須) |
| description | string | テスト計画の説明 |
| milestone_id | int | テスト計画をリンクするマイルストーンの ID |
| entries | array | 計画に含まれる テスト ラン を記述したオブジェクトの配列。以下の例と 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 は テスト計画の設定(configs) もサポートしています。
{
"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 | 無効または不明なプロジェクト ID です |
| 403 | テスト計画を追加する権限、またはプロジェクトへのアクセス権がありません |
add_plan_entry
テスト計画に 1つまたはそれ以上の新しい テスト ラン を追加します。
POST index.php?/api/v2/add_plan_entry/:plan_id
| :plan_id | テスト ラン を追加するテスト計画の ID |
リクエスト フィールド
以下の POST フィールドがサポートされています。
| 名前 | タイプ | 説明 |
|---|---|---|
| suite_id | int | テスト ラン のテストスイートのID(必須) |
| name | string | テスト ラン の名前 |
| description | string | テスト ラン の説明 (TestRail 5.2 以降が必要) |
| assignedto_id | int | テスト ラン を割り当てるユーザーの ID |
| include_all | bool | テスト スイートのすべてのテス トケースを含める場合は true、カスタム ケース選択の場合は false (デフォルト値: true) |
| case_ids | array | カスタム ケース選択用のテスト ケース ID の配列 |
| config_ids | array | テスト計画エントリの テスト ラン で使用される設定 ID の配列 |
| refs | string | 外部要件の ID。カンマで区切ります (TestRail 6.3 以降が必要) |
| runs | array | 設定 と テスト ラン の配列。詳細は下記の例をご覧ください |
リクエストの例
いくつかの テスト ラン と設定を含む新しいテスト計画エントリを作成する方法を示す次の例も参照してください。
{
"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 | グループ | 設定 |
|---|---|---|
| 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 | 無効または不明なテスト計画 ID です |
| 403 | テスト計画を変更する権限、またはプロジェクトへのアクセス権がありません |
add_run_to_plan_entry
テスト計画エントリに新しいテスト ランを追加します (設定を使用)。
TestRail 6.4 以降が必要です。
POST index.php?/api/v2/add_run_to_plan_entry/:plan_id/:entry_id
| :plan_id | テスト ラン を追加するテスト計画の ID |
| :entry_id | テスト計画エントリの ID |
リクエスト フィールド
以下の POST フィールドがサポートされています。
| Name | タイプ | 説明 |
|---|---|---|
| config_ids | array | テスト計画エントリの テスト ラン で使用される設定 ID の配列 (必須) |
| description | text | テスト ランの説明 |
| assignedto_id | int | テスト ランを割り当てるユーザーの ID |
| include_all | bool | テスト スイートのすべてのテス トケースを含める場合は true、カスタム ケース選択の場合は false |
| case_ids | array | カスタム ケース選択用のテスト ケース ID の配列 (include_all が false の場合に必須) |
| refs | string | 参照/要件のカンマ区切りのリスト |
リクエストの例
テスト計画エントリに新しいテスト ランを追加する方法を示す次の例も参照してください。
{
"config_ids": [1,5],
"include_all": false,
"case_ids": [1,2,4]
}
レスポンス コード
| 200 | 成功。テスト ランが更新され、レスポンスの一部として返されます |
| 400 | 無効または不明なテスト計画エントリ、または無効な POST のボディ |
| 403 | テスト計画を変更する権限がない、またはプロジェクトへのアクセス権がない |
update_plan
既存のテスト計画を更新します (部分的な更新がサポートされています。つまり、特定のフィールドのみを送信して更新できます)。
POST index.php?/api/v2/update_plan/:plan_id
| :plan_id | テスト計画の ID |
entriesフィールドを除いて、このメソッドは add_plan と同じ POST フィールドをサポートします。
レスポンスの内容
成功した場合、このメソッドは get_plan と同じレスポンス形式を使用して更新されたテスト計画を返します。
レスポンス コード
| 200 | 成功。テスト計画が更新され、レスポンスの一部として返されます |
| 400 | 無効または不明なテスト計画 |
| 403 | テスト計画を変更する権限、またはプロジェクトへのアクセス権がありません |
update_plan_entry
テスト計画に含まれる 1 つまたはそれ以上のテスト ランのグループを更新します (部分的な更新がサポートされています。つまり、特定のフィールドのみを送信して更新できます)。
POST index.php?/api/v2/update_plan_entry/:plan_id/:entry_id
| :plan_id | テスト計画の ID |
| :entry_id | テスト計画エントリの ID (注意: テスト ランの IDではありません) |
リクエスト フィールド
以下の POST フィールドがサポートされています。
| 名前 | タイプ | 説明 |
|---|---|---|
| name | string | テスト ラン の名前 |
| description | string | テスト ラン の説明 (TestRail 5.2 以降が必要) |
| assignedto_id | int | テスト ラン を割り当てるユーザーの ID |
| include_all | bool | テスト スイートのすべてのテス トケースを含める場合は true、カスタム ケース選択の場合は false (デフォルト値: true) |
| case_ids | array | カスタム ケース選択用のテスト ケース ID の配列 |
| refs | string | 外部要件 ID の文字列。カンマで区切ります (TestRail 6.3 以降が必要です) |
注意: config_ids および runs フィールドはサポートされていません。
レスポンスの内容
成功した場合、このメソッドは、get_plan の entries フィールドと同じレスポンス形式を使用して、テスト ラン を含む更新されたテスト計画エントリを返します。エントリのリストではなく単一のエントリを返します。
レスポンス コード
| 200 | 成功。テスト ランが更新され、レスポンスの一部として返されます |
| 400 | 無効または不明なテスト計画またはエントリ ID です |
| 403 | テスト計画を変更する権限、またはプロジェクトへのアクセス権がありません |
update_run_in_plan_entry
計画エントリ内の設定を使用するランを更新します。
TestRail 6.4 以降が必要です。
POST index.php?/api/v2/update_run_in_plan_entry/:run_id
| :run_id | テスト ランの ID |
リクエスト フィールド
以下の POST フィールドがサポートされています。
| 名前 | タイプ | 説明 |
|---|---|---|
| description | text | テスト ランの説明 |
| assignedto_id | int | テスト ランを割り当てるユーザーの ID |
| include_all | bool | テスト スイートのすべてのテス トケースを含める場合は true、カスタム ケース選択の場合は false |
| case_ids | array | カスタム ケース選択用のテスト ケース ID の配列 (include_all が false の場合に必須) |
| refs | string | 参照/要件のカンマ区切りのリスト |
リクエストの例
テスト計画エントリ内の設定を使用するランを更新する方法を示す次の例も参照してください。
{
"include_all": false,
"case_ids": [1,2,4]
}
レスポンス コード
| 200 | 成功。テスト ランが更新され、レスポンスの一部として返されます |
| 400 | 無効または不明なテスト ランまたは無効な POST ボディ |
| 403 | テスト計画を変更する権限がない、またはプロジェクトへのアクセス権がない |
close_plan
既存のテスト計画を閉じて、その テスト ランと結果をアーカイブします。
POST index.php?/api/v2/close_plan/:plan_id
| :plan_id | テスト計画の ID |
注意:テスト計画のクローズを元に戻すことはできません。
レスポンスの内容
成功した場合、このメソッドは get_plan と同じレスポンス形式を使用してクローズされたテスト計画を返します。
レスポンス コード
| 200 | 成功、テスト計画とそのすべてのテスト ランがクローズ (アーカイブ化) されました。テスト計画およびそのテスト ランがレスポンスの一部として返されます |
| 400 | 無効または不明なテスト計画 ID です |
| 403 | テスト計画をクローズする権限、またはプロジェクトへのアクセス権がありません |
delete_plan
既存のテスト計画を削除します。
POST index.php?/api/v2/delete_plan/:plan_id
| :plan_id | テスト計画の ID |
注意:テスト計画の削除を元に戻すことはできず、テスト計画のすべての テスト ランと結果も永久に削除されます。
レスポンス コード
| 200 | 成功。テスト計画とそのすべてのテスト ランが削除されました。 |
| 400 | 無効または不明なテスト計画 ID です |
| 403 | テスト計画を削除する権限、またはプロジェクトへのアクセス権がありません |
delete_plan_entry
テスト計画から 1つまたはそれ以上の テスト ランを削除します。
POST index.php?/api/v2/delete_plan_entry/:plan_id/:entry_id
| :plan_id | テスト計画の ID |
| :entry_id | テスト計画エントリの ID (注意: テスト ランの IDではありません) |
注意: テスト計画からのテスト ランの削除を元に戻すことはできず、関連するすべてのテスト結果も永久に削除されます。
レスポンス コード
| 200 | 成功。テスト ランはテスト計画から削除されました |
| 400 | 無効または不明なテスト計画またはエントリ ID です |
| 403 | テスト計画を変更する権限、またはプロジェクトへのアクセス権がありません |
delete_run_from_plan_entry
テスト計画エントリからテスト ランを削除します。
POST index.php?/api/v2/delete_run_from_plan_entry/:run_id
| :run_id | テスト ランの ID |
レスポンス コード
| 200 | 成功。テスト ランが更新され、レスポンスの一部として返されます |
| 400 | 無効または不明なテスト ランまたは無効な POST ボディ |
| 403 | テスト計画を変更する権限がない、またはプロジェクトへのアクセス権がない |