ページを選択

テスト ケース

テスト ケースに関する情報を取得したり、テスト ケースを作成または変更するには、次の 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 更新されたフィールドのタイプ

    • 1 = string
    • 2 = integer
    • 3 = boolean
    • 4 = date
    • 5 = timespan
    • 6 = text
    • 7 = URL
    • 8 = steps
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 のみ – リクエストが多すぎます