API: セクション
セクションに関する情報を取得したり、セクションを作成または変更するには、次の API メソッドを使用します。セクションは、テスト スイート内のテスト ケースをグループ化して整理するために使用されます。
get_section
既存のセクションを返します。
GET index.php?/api/v2/get_section/:section_id
:section_id | セクションの ID |
レスポンスの内容
典型的なレスポンスについては、下記を参照してください。
{ "depth": 0, "description": null, "display_order": 1, "id": 1, "name": "Prerequisites", "parent_id": null, "suite_id": 1 }
レスポンスには次のフィールドが含まれています。
名前 | タイプ | 説明 |
---|---|---|
depth | int | テスト スイートのセクション階層のレベル |
description | string | セクションの説明 |
display_order | int | テスト スイート内での順序 |
id | int | セクションの一意の ID |
parent_id | int | テスト スイート内での親セクションのID |
name | string | セクションの名前 |
suite_id | int | セクションが所属するテスト スイートの ID |
depth
、display_order
、および parent
フィールドは、テスト スイート内のセクションの階層を決定します。depth
フィールドは、ルート レベルのセクションではすべて 0 であり、子セクションではすべて 0 より大きい値です。したがって、depth
フィールドはセクション階層のレベルに似ています。get_sections の例も参照してください。
レスポンス コード
200 | 成功。セクションがレスポンスの一部として返されます |
400 | 無効または不明なセクション ID です |
403 | プロジェクトにアクセスできません |
get_sections
プロジェクトとテスト スイートのセクションのリストを返します。
GET index.php?/api/v2/get_sections/:project_id&suite_id=:suite_id
:project_id | プロジェクトの ID |
:suite_id | テスト スイートの ID (プロジェクトがシングル スイート モードで動作している場合はオプション) |
リクエスト フィルター
以下のフィルターを適用できます。
名前 | タイプ | 説明 |
---|---|---|
:limit | integer | レスポンスが返すセクションの数 (デフォルトのレスポンスのサイズは 250) (TestRail 6.7 以降が必要) |
:offset | integer | セクションのカウントを開始する位置 (オフセット) (TestRail 6.7 以降が必要) |
レスポンスの内容
典型的なレスポンスについては、下記を参照してください。
[ { "depth": 0, "display_order": 1, "id": 1, "name": "Prerequisites", "parent_id": null, "suite_id": 1 }, { "depth": 0, "display_order": 2, "id": 2, "name": "Documentation & Help", "parent_id": null, "suite_id": 1 }, { "depth": 1, // A child section "display_order": 3, "id": 3, "name": "Licensing & Terms", "parent_id": 2, // Points to the parent section "suite_id": 1 }, .. ]
注意: 2021 年 2 月 26日から、一括 GET API エンドポイントが返すデータの構造が変更されます。これらの一括エンドポイントは、すべてのエントリの配列ではなく、追加のページ分割フィールドを持つオブジェクトと、250 エンティティまでの配列を返します。新しいレスポンス構造を確認し、必要に応じたコードの変更をテストするには、API リクエストに次のヘッダーと値を含めます: x-api-ident: beta
新しいレスポンスの内容
典型的なレスポンスについては、下記を参照してください。
{ "offset": 0, "limit": 250, "size": 23, "_links": { "next": null, "prev": null, }, "sections": [ { "depth": 0, "display_order": 1, "id": 1, "name": "Prerequisites", "parent_id": null, "suite_id": 1 }, { "depth": 0, "display_order": 2, "id": 2, "name": "Documentation & Help", "parent_id": null, "suite_id": 1 }, { "depth": 1, // A child section "display_order": 3, "id": 3, "name": "Licensing & Terms", "parent_id": 2, // Points to the parent section "suite_id": 1 }, .. ] }
含まれるフィールドの詳細については get_section も参照してください。
レスポンス コード
200 | 成功。セクションがレスポンスの一部として返されます |
400 | 無効または不明なプロジェクトまたはテスト スイート ID です |
403 | プロジェクトにアクセスできません |
add_section
新規セクションを作成します。
POST index.php?/api/v2/add_section/:project_id
:project_id | プロジェクトの ID |
リクエスト フィールド
以下の POST フィールドがサポートされています。
名前 | タイプ | 説明 |
---|---|---|
description | string | セクションの説明 |
suite_id | int | テスト スイートの ID (プロジェクトがシングル スイート モードで動作している場合は無視され、その他の場合は必須) |
parent_id | int | 親セクションの ID (セクション階層の構築に使用される) |
name | string | セクションの名前 (必須) |
リクエストの例
空のセクション (以前に作成したセクションを親として) を作成する方法を示す次の例も参照してください。
{ "suite_id": 5, "name": "This is a new section", "parent_id": 10 }
セクションを追加したら、テスト ケース を追加できます。
レスポンスの内容
成功した場合、このメソッドは get_section と同じレスポンス形式を使用して新しいセクションを返します。
レスポンス コード
200 | 成功。セクションが作成され、レスポンスの一部として返されます |
400 | 無効または不明なプロジェクトまたはテスト スイート ID です |
403 | セクションを追加する権限、またはプロジェクトへのアクセス権がありません |
move_section
別のスイートまたはセクションにセクションを移動します (TestRail 6.5.2 以降が必要)。
POST index.php?/api/v2/move_section/:section_id
:section_id | セクションの ID |
リクエスト フィールド
以下の POST フィールドがサポートされています。
名前 | タイプ | 説明 |
---|---|---|
parent_id | int | 親セクションの ID (ルートに移動する場合は null にします)。同一プロジェクトおよびスイート内である必要があります。移動対象セクションの直接の子にはできません |
after_id | int | セクションを挿入する直前のセクションの ID (null でも可) |
レスポンス コード
200 | 成功。セクションが移動され、レスポンスの一部として返されます |
400 | 無効または不明なセクション ID です |
403 | セクションを変更する権限、またはプロジェクトへのアクセス権がありません |
update_section
既存のセクションを更新します (部分的な更新がサポートされています。つまり、特定のフィールドのみを送信して更新できます)。
POST index.php?/api/v2/update_section/:section_id
:section_id | セクションの ID |
リクエスト フィールド
以下の POST フィールドがサポートされています。
名前 | タイプ | 説明 |
---|---|---|
description | string | セクションの説明 |
name | string | セクションの名前 |
リクエストの例
既存のセクションの名前を更新する方法を示す次の例も参照してください。
{ "name": "A better section name" }
レスポンスの内容
成功した場合、このメソッドは get_section と同じレスポンス形式を使用して更新されたセクションを返します。
レスポンス コード
200 | 成功。セクションが更新され、レスポンスの一部として返されます |
400 | 無効または不明なセクション ID です |
403 | セクションを変更する権限、またはプロジェクトへのアクセス権がありません |
delete_section
既存のセクションを削除します。
POST index.php?/api/v2/delete_section/:section_id
:section_id | セクションの ID |
Soft パラメーター
soft=1 の場合、影響を受けるテスト、テスト ケースなどの数に関するデータを返します。
soft=1 を設定すると、エンティティは実際には削除されません。
注意: soft パラメーターを省略した場合、または soft=0 をサブミットした場合、セクションおよびそのテスト ケースは削除されます。
注意:セクションの削除を元に戻すことはできず、関連するすべてのテスト ケースのほか、アクティブなテストおよびテスト結果、つまりまだクローズされていない (アーカイブされていない) テストおよびテスト結果も削除されます。
レスポンス コード
200 | 成功。セクションは削除されました |
400 | 無効または不明なセクション ID です |
403 | セクションまたはテスト ケースを削除する権限、またはプロジェクトへのアクセス権がありません |