ページを選択

API: セクション

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

depthdisplay_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 セクションまたはテスト ケースを削除する権限、またはプロジェクトへのアクセス権がありません