ページを選択

API: 計画

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_idinclude_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 フィールドには、設定 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_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 テスト計画を変更する権限がない、またはプロジェクトへのアクセス権がない