テスト ケースに関する情報を取得したり、テスト ケースを作成または変更するには、次の API メソッドを使用します。
get_case
既存のテスト ケースを返します。
GET index.php?/api/v2/get_case/{case_id}
パラメーター
| 名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
| case_id | integer | true | テスト ケースの ID |
リクエストの例
# Get the test case with an ID of 42 GET index.php?/api/v2/get_case/42
レスポンスの内容
レスポンスの例
{
"id": 1,
"title": "Print document history and attributes",
"section_id": 1,
"template_id": 1,
"type_id": 2,
"priority_id": 2,
"milestone_id": null,
"refs": null,
"created_by": 1,
"created_on": 1646317844,
"updated_by": 1,
"updated_on": 1646317844,
"estimate": null,
"estimate_forecast": "8m 40s",
"suite_id": 1,
"display_order": 1,
"is_deleted": 0,
"custom_automation_type": 0,
"custom_preconds": null,
"custom_steps": null,
"custom_expected": null,
"custom_steps_separated": null,
"custom_mission": null,
"custom_goals": null
}
レスポンスには次のシステム項目が常に含まれています。
| 名前 | タイプ | 説明 |
|---|---|---|
| created_by | integer | テスト ケースを作成したユーザーの ID |
| created_on | timestamp | テスト ケースが作成された日時 (UNIX タイムスタンプ) |
| estimate | timespan | 見積り時間。例: “30s” や “1m 45s” |
| estimate_forecast | timespan | 予想見積り時間。例: “30s” や “1m 45s” |
| id | integer | テスト ケースの一意の ID |
| milestone_id | integer | テスト ケースにリンクされているマイルストーンの ID |
| priority_id | integer | テスト ケースにリンクされている優先度の ID |
| refs | string | テスト ケースにリンクされている参照/要件のカンマ区切りリスト |
| section_id | integer | テスト ケースが所属するセクションの ID |
| suite_id | integer | テスト ケースが所属するテスト スイートの ID |
| template_id | integer | テスト ケースが使用するテンプレート (フィールド レイアウト) の ID (TestRail 5.2 以降が必要) |
| title | string | テスト ケースのタイトル |
| type_id | integer | テスト ケースにリンクされているテスト ケース タイプの ID |
| updated_by | integer | テスト ケースを最後に更新したユーザーの ID |
| updated_on | timestamp | テスト ケースが最後に更新された日時 (UNIX タイムスタンプ) |
レスポンスにはカスタム フィールドも含まれており、先頭に ‘custom_’ を付けたシステム名がフィールド名として使用されます。利用可能なカスタム フィールド タイプの一覧は add_case を参照してください。
レスポンス コード
| ステータス コード | 説明 |
|---|---|
| 200 | 成功。テスト ケースがレスポンスの一部として返されます |
| 400 | 無効または不明なテスト ケース |
| 403 | プロジェクトにアクセスできない |
| 429 | TestRail Cloud のみ – リクエストが多すぎます |
get_cases
テスト スイートまたはテスト スイート内の特定のセクションに含まれるテスト ケースのリストを返します (プロジェクトが複数のスイートを有効化している場合)。
GET index.php?/api/v2/get_cases/{project_id}&suite_id={suite_id}
パラメーター
| 名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
| project_id | integer | true | プロジェクトの ID |
| suite_id | integer | 説明を参照 | テスト スイートの ID (プロジェクトがシングル スイート モードで動作している場合はオプション) |
| created_after | timestamp | false | この日付以降に作成されたテスト ケースのみを返す (UNIX タイムスタンプ) |
| created_before | timestamp | false | この日付以前に作成されたテスト ケースのみを返す (UNIX タイムスタンプ) |
| created_by | integer (list) | false | フィルタリングする作成者 (ユーザー ID) のカンマ区切りリスト。 |
| filter | string | false | ケースのタイトルにフィルターと一致する文字列を含むケースだけを返す。 |
| limit | integer | false | レスポンスが返すテスト ケースの数 (デフォルトのレスポンスのサイズは 250) (TestRail 6.7 以降が必要) |
| milestone_id | integer (list) | false | フィルタリングするマイルストーン ID のカンマ区切りリスト (マイルストーン フィールドがプロジェクトで無効化されている場合は使用できません)。 |
| offset | integer | false | テスト ケースのカウントを開始する位置 (オフセット) (TestRail 6.7 以降が必要) |
| priority_id | integer (list) | false | フィルタリングする優先度 ID のカンマ区切りリスト。 |
| refs | string | false | 単一の参照 ID (例: TR-1, 4291, など) (TestRail 6.5.2 以降が必要) |
| section_id | integer | false | テスト ケース セクションの ID |
| template_id | integer (list) | false | フィルタリングするテンプレート ID のカンマ区切りリスト (TestRail 5.2 以降が必要) |
| type_id | integer (list) | false | フィルタリングするタイプ ID のカンマ区切りリスト。 |
| updated_after | timestamp | false | この日付以降に更新されたテスト ケースのみを返す (UNIX タイムスタンプ) |
| updated_before | timestamp | false | この日付以前に更新されたテスト ケースのみを返す (UNIX タイムスタンプ) |
| updated_by | integer | false | フィルタリングするテスト ケースを更新したユーザーのカンマ区切りリスト |
リクエストの例
# Get all the test cases that are in project 34 (project ID of 34), suite with ID of 2 and priority 3 or 4 GET index.php?/api/v2/get_cases/34&suite_id=2&priority_id=3,4 # Get 10 test cases from project 34 GET index.php?/api/v2/get_cases/34&limit=10 # Only returning test cases from project 34 starting the offset number GET index.php?/api/v2/get_cases/34&offset=5 # Filter cases in project 34 with a filter string of "login" GET index.php?/api/v2/get_cases/34&filter=login # Combined usage GET index.php?/api/v2/get_cases/34&offset=:5&limit=:10&filter=:login
レスポンスの内容
レスポンスにはテスト ケースの配列が含まれます。cases オブジェクト内の各テスト ケースの形式は、get_case と同じです。
{
"offset": 0,
"limit": 250,
"size": 250,
"_links": {
"next": "/api/v2/get_cases/1&limit=250&offset=250",
"prev": null
},
"cases": [
{
"id": 1,
"title": "..",
},
{
"id": 2,
"title": "..",
}
]
}
レスポンス コード
| ステータス コード | 説明 |
|---|---|
| 200 | 成功。テスト ケースがレスポンスの一部として返されます |
| 400 | 無効または不明なパラメーター |
| 403 | プロジェクトにアクセスできない |
| 429 | TestRail Cloud のみ – リクエストが多すぎます |
get_history_for_case
TestRail 6.5.4 以降が必要です。
test case_id の編集履歴を返します。
GET index.php?/api/v2/get_history_for_case/{case_id}
パラメーター
| 名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
| case_id | integer | true | テスト ケースの ID |
| limit | integer | false | レスポンスが返すテスト ケース変更の数 (デフォルトのレスポンスのサイズは 250) (TestRail 6.7 以降が必要) |
| offset | integer | false | テスト ケース変更のカウントを開始する位置 (オフセット) (TestRail 6.7 以降が必要) |
レスポンスには次のシステム項目が常に含まれています。
| 名前 | タイプ | 説明 |
|---|---|---|
| id | integer | テスト ケース変更の ID |
| created_on | timestamp | 変更が行われたときの UNIX タイムスタンプ |
| type_id | integer | 変更タイプ。多くの場合は「更新」を表す 6 (changes 配列の type_id 値は下で説明)。 |
| user_id | integer | 変更を実施したユーザー名 |
| changes | array | テスト ケースに加えられた変更の詳細の配列 |
changes 配列には以下のフィールドが含まれる可能性があります。
| 名前 | タイプ | 説明 |
|---|---|---|
| type_id | integer | 更新されたフィールドのタイプ
|
| old_text | text | 更新されたフィールドの以前のテキスト値 (テキスト フィールドの場合)。 |
| new_text | text | 更新されたフィールドの新しいテキスト値 (テキスト フィールドの場合)。 |
| label | string | ユーザー インターフェイスに表示されるフィールド ラベル |
| options | array | 必須、デフォルト値など、フィールドに設定されたオプションの配列 |
| field | string | 更新されたフィールドのシステム名 |
| old_value | varies | 更新されたフィールドの以前の値。個別の手順フィールドを含め、テキスト フィールド以外のフィールドの場合に使用されます。値はフィールドタイプに応じてテキストまたは整数です。 |
| new_value | varies | 更新されたフィールドの新しい値。個別の手順フィールドを含め、テキスト フィールド以外のフィールドの場合に使用されます。値はフィールドタイプに応じてテキストまたは整数です。 |
レスポンスの内容
レスポンスにはテスト ケースの変更の配列が含まれます。配列の各エントリは変更レコードです。
[
{
"offset": 0,
"limit": 250,
"size": 1,
"_links": {
"next": null,
"prev": null
},
"history": [
{
"id": 3382,
"type_id": 6,
"created_on": 1597927176,
"user_id": 1,
"changes": [
{
"type_id": 1,
"old_text": "Original Section",
"new_text": "Updated Section",
"field": "section_id",
"old_value": 3573,
"new_value": 3574
},
]
},
{
"id": 3389,
"type_id": 6,
"created_on": 1597932715,
"user_id": 1,
"changes": [
{
"type_id": 1,
"field": "refs",
"old_value": null,
"new_value": "1"
},
]
},
]
}
]
レスポンス コード
| ステータス コード | 説明 |
|---|---|
| 200 | 成功。テスト ケースがレスポンスの一部として返されます |
| 400 | 無効または不明なテスト ケース |
| 403 | プロジェクトにアクセスできない |
| 429 | TestRail Cloud のみ – リクエストが多すぎます |
add_case
新規テストケースを作成します。
POST index.php?/api/v2/add_case/{section_id}
パラメーター
以下の POST フィールドがサポートされています (システムフィールド)。
| 名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
| section_id | integer | true | テスト ケースを追加するセクションの ID |
| title | string | true | テスト ケースのタイトル |
| template_id | integer | false | テンプレート (フィールド レイアウト) の ID (TestRail 5.2 以降が必要) |
| type_id | integer | false | テスト ケース タイプの ID |
| priority_id | integer | false | テスト ケース優先度の ID |
| estimate | timespan | false | 見積り時間。例: “30s” や “1m 45s” |
| milestone_id | integer | false | テスト ケースをリンクするマイルストーンの ID |
| refs | string | false | 参照/要件のカンマ区切りのリスト |
カスタム フィールド パラメーターもサポートされています。システム名の頭に ‘custom_’ を付けて送信します。例:
{
"custom_preconds": "These are the preconditions for a test case"
}
以下のカスタム フィールドタイプがサポートされています。
| 名前 | タイプ | 説明 |
|---|---|---|
| Checkbox | boolean | オンの場合は true、オフの場合は false |
| Date | string | TestRail および API ユーザー用に設定されたのと同じ形式の日付 (例 “07/08/2013”) |
| Dropdown | integer | フィールド設定で設定されたドロップダウン値の ID |
| Integer | integer | 有効な整数 |
| Milestone | integer | カスタム フィールドのマイルストーンの ID |
| Multi-select | array | フィールド設定で設定された ID の配列 |
| Steps | array | ステップを指定するオブジェクトの配列。下の例も参照してください。 |
| String | string | 最大 250 文字までの有効な文字列 |
| Text | string | 長さの制限がない文字列 |
| URL | string | URL の構文と一致する文字列 |
| User | integer | カスタム フィールドのユーザーの ID |
リクエストの例
個別のテスト手順を使用してステップを送信する方法を示す次の例も参照してください。
{
"title": "This is a test case",
"type_id": 1,
"priority_id": 3,
"estimate": "3m",
"refs": "RF-1, RF-2",
"custom_steps_separated": [
{
"content": "Step 1",
"expected": "Expected Result 1"
},
{
"content": "Step 2",
"expected": "Expected Result 2"
},
{
"shared_step_id": 3
},
]
}
レスポンスの内容
成功した場合、このメソッドは get_case と同じレスポンス形式を使用して新しいテスト ケースを返します。レスポンスの例
{
"id": 1,
"title": "Print document history and attributes",
"section_id": 1,
"template_id": 1,
"type_id": 2,
"priority_id": 2,
"milestone_id": null,
"refs": null,
"created_by": 1,
"created_on": 1646317844,
}
レスポンスには次のシステム項目が常に含まれています。
| 名前 | タイプ | 説明 |
|---|---|---|
| created_by | integer | テスト ケースを作成したユーザーの ID |
| created_on | timestamp | テスト ケースが作成された日時 (UNIX タイムスタンプ) |
| estimate | timespan | 見積り時間。例: “30s” や “1m 45s” |
| estimate_forecast | timespan | 予想見積り時間。例: “30s” や “1m 45s” |
| id | integer | テスト ケースの一意の ID |
| milestone_id | integer | テスト ケースにリンクされているマイルストーンの ID |
| priority_id | integer | テスト ケースにリンクされている優先度の ID |
| refs | string | テスト ケースにリンクされている参照/要件のカンマ区切りリスト |
| section_id | integer | テスト ケースが所属するセクションの ID |
| suite_id | integer | テスト ケースが所属するテスト スイートの ID |
| template_id | integer | テスト ケースが使用するテンプレート (フィールド レイアウト) の ID (TestRail 5.2 以降が必要) |
| title | string | テスト ケースのタイトル |
| type_id | integer | テスト ケースにリンクされているテスト ケース タイプの ID |
| updated_by | integer | テスト ケースを最後に更新したユーザーの ID |
| updated_on | timestamp | テスト ケースが最後に更新された日時 (UNIX タイムスタンプ) |
レスポンスにはカスタム フィールドも含まれており、先頭に ‘custom_’ を付けたシステム名がフィールド名として使用されます。利用可能なカスタム フィールド タイプの一覧は add_case を参照してください。
レスポンス コード
| ステータス コード | 説明 |
|---|---|
| 200 | 成功。テスト ケースが作成され、レスポンスの一部として返されます |
| 400 | 無効または不明なパラメーター |
| 403 | プロジェクトにアクセスできない |
| 429 | TestRail Cloud のみ – リクエストが多すぎます |
copy_cases_to_section
テスト ケースのリストを別のスイート/セクションにコピーします。
POST index.php?/api/v2/copy_cases_to_section/{section_id}
パラメーター
以下の POST フィールドがサポートされています (システムフィールド)。
| 名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
| section_id | integer | true | テストケースのコピー先セクションの ID |
| case_ids | array of integers | false | カンマ区切りのテスト ケース ID のリスト |
レスポンス コード
| ステータス コード | 説明 |
|---|---|
| 200 | 成功。テスト ケースがコピーされ、レスポンスの一部として返されます |
| 400 | 無効または不明なパラメーター |
| 403 | プロジェクトにアクセスできない |
| 429 | TestRail Cloud のみ – リクエストが多すぎます |
update_case
既存のテストケースを更新します (部分的な更新がサポートされています。つまり、特定のフィールドのみを送信して更新できます)。
POST index.php?/api/v2/update_case/{case_id}
パラメーター
以下の POST フィールドがサポートされています (システムフィールド)。
| 名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
| case_id | integer | true | テスト ケースの ID |
| section_id | integer | false | テスト ケースを更新するセクションの ID |
| title | string | false | テスト ケースのタイトル |
| template_id | integer | false | テンプレート (フィールド レイアウト) の ID (TestRail 5.2 以降が必要) |
| type_id | integer | false | テスト ケース タイプの ID |
| priority_id | integer | false | テスト ケース優先度の ID |
| estimate | timespan | false | 見積り時間。例: “30s” や “1m 45s” |
| milestone_id | integer | false | テスト ケースをリンクするマイルストーンの ID |
| refs | string | false | 参照/要件のカンマ区切りのリスト |
メソッドは add_case と同じ POST フィールドをサポートしています。ケースの section_id を更新するには、TestRail 6.5.2 以降が必要です。
リクエストの例
テスト ケースの優先順位フィールドと見積りフィールドを更新する方法を示す次の例も参照してください。
{
"priority_id": 1,
"estimate": "5m"
}
レスポンスの内容
成功した場合、このメソッドは get_case と同じレスポンス形式を使用して新しいテスト ケースを返します。
レスポンス コード
| ステータス コード | 説明 |
|---|---|
| 200 | 成功。テスト ケースが更新され、レスポンスの一部として返されます |
| 400 | 無効または不明なテスト ケース |
| 403 | プロジェクトにアクセスできない |
| 429 | TestRail Cloud のみ – リクエストが多すぎます |
update_cases
テスト ケースのセットに高い優先度を設定する場合など、複数のテスト ケースを同じ値で更新します。複数のテスト ケースをテスト ケースごとに異なる値で更新することはできません。
POST index.php?/api/v2/update_cases/{suite_id}
パラメーター
以下の POST フィールドがサポートされています (システムフィールド)。
| 名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
| case_ids | array of integers | true | 更新するケースの ID |
| suite_id | integer | 説明を参照 | テスト スイートの ID (プロジェクトがシングル スイート モードで動作している場合はオプション) |
| section_id | integer | false | テスト ケースを更新するセクションの ID |
| title | string | false | テスト ケースのタイトル |
| template_id | integer | false | テンプレート (フィールド レイアウト) の ID (TestRail 5.2 以降が必要) |
| type_id | integer | false | テスト ケース タイプの ID |
| priority_id | integer | false | テスト ケース優先度の ID |
| estimate | timespan | false | 見積り時間。例: “30s” や “1m 45s” |
| milestone_id | integer | false | テスト ケースをリンクするマイルストーンの ID |
| refs | string | false | 参照/要件のカンマ区切りのリスト |
メソッドは add_case と同じ POST フィールドをサポートしています。ケースの section_id を更新するには、TestRail 6.5.2 以降が必要です。
リクエストの例
テスト ケースの優先順位フィールドと見積りフィールドを更新する方法を示す次の例も参照してください。case_ids フィールドは必須フィールドであり、更新するテスト ケースを示します。
{
"case_ids": [1, 2, 3],
"priority_id": 1,
"estimate": "5m"
}
レスポンスの内容
成功した場合、このメソッドは get_case と同じレスポンス形式を使用して新しいテスト ケースを返します。
レスポンス コード
| ステータス コード | 説明 |
|---|---|
| 200 | 成功。テスト ケースが更新され、レスポンスの一部として返されます |
| 400 | 無効または不明なテスト ケース |
| 403 | プロジェクトにアクセスできない |
| 429 | TestRail Cloud のみ – リクエストが多すぎます |
move_cases_to_section
テスト ケースを別のスイートまたはセクションに移動します。
POST index.php?/api/v2/move_cases_to_section/{section_id}
パラメーター
以下の POST フィールドがサポートされています (システムフィールド)。
| 名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
| section_id | integer | true | テスト ケースの移動先セクションの ID |
| suite_id | integer | true | テスト ケースの移動先スイートの ID |
| case_ids | array of integers | true | カンマ区切りのテスト ケース ID のリスト |
レスポンス コード
| ステータス コード | 説明 |
|---|---|
| 200 | 成功。テスト ケースが移動され、レスポンスの一部として返されます |
| 400 | 無効または不明なテスト ケース |
| 403 | プロジェクトにアクセスできない |
| 429 | TestRail Cloud のみ – リクエストが多すぎます |
delete_case
削除したテスト ケースを元に戻すことはできず、アクティブな テスト ラン (まだ閉じられていない (アーカイブされていない) テスト ラン) 内のすべてのテスト結果も永久に削除されます。
既存のテスト ケースを削除します。
POST index.php?/api/v2/delete_case/{case_id}
パラメーター
| 名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
| case_id | integer | true | テスト ケースの ID |
| soft | integer | false | soft=1 の場合、削除されるデータに関する情報を返し、削除は実行しません。 |
Soft パラメーター
soft パラメーターを省略した場合、または soft=0 をサブミットした場合、テスト ケースは削除されます。
soft=1 の場合、影響を受けるテストの数に関するデータを返します。
soft=1 の場合、エンティティは実際には削除されません。
レスポンス コード
| ステータス コード | 説明 |
|---|---|
| 200 | 成功。テスト ケースが削除され、レスポンスの一部として返されます |
| 400 | 無効または不明なテスト ケース |
| 403 | プロジェクトにアクセスできない |
| 429 | TestRail Cloud のみ – リクエストが多すぎます |
delete_cases
削除したテスト ケースを元に戻すことはできず、アクティブな テスト ラン (まだ閉じられていない (アーカイブされていない) テスト ラン) 内のすべてのテスト結果も永久に削除されます。
プロジェクトまたはテスト スイートの複数のテスト ケースを削除します。
POST index.php?/api/v2/delete_cases/{suite_id}&soft=1
パラメーター
| 名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
| case_ids | array of integers | true | 削除するテスト ケースの ID の配列 |
| project_id | integer | true | プロジェクトの ID |
| suite_id | integer | 説明を参照 | テスト スイートの ID (プロジェクトが複数スイート モードの場合のみ必須) |
| soft | integer | false | soft=1 の場合、削除されるデータに関する情報を返し、削除は実行しません。 |
リクエストの例
選択されたプロジェクトのケース ID を表示する次の例も参照してください。
{
"case_ids": [1, 2, 3]
}
レスポンス コード
| ステータス コード | 説明 |
|---|---|
| 200 | 成功。テスト ケースが削除され、レスポンスの一部として返されます |
| 400 | 無効または不明なテスト ケース |
| 403 | プロジェクトにアクセスできない |
| 429 | TestRail Cloud のみ – リクエストが多すぎます |