رفتن به محتوای اصلی
فهرست مستندات
مرجع API

test planها

به‌روزرسانی ۱۶ دقیقه مطالعه TestRail

فهرست مطالب
  1. get_plan
  2. پارامترها
  3. محتوای پاسخ
  4. کدهای پاسخ
  5. get_plans
  6. پارامترها
  7. بدنه درخواست
  8. محتوای پاسخ
  9. کدهای پاسخ
  10. add_plan
  11. پارامترها
  12. بدنه درخواست
  13. نمونه درخواست
  14. محتوای پاسخ
  15. کدهای پاسخ
  16. add_plan_entry
  17. پارامترها
  18. بدنه درخواست
  19. نمونه درخواست
  20. محتوای پاسخ
  21. کدهای پاسخ
  22. add_run_to_plan_entry
  23. پارامترها
  24. بدنه درخواست
  25. نمونه درخواست
  26. کدهای پاسخ
  27. update_plan
  28. پارامترها
  29. محتوای پاسخ
  30. کدهای پاسخ
  31. update_plan_entry
  32. پارامترها
  33. بدنه درخواست
  34. محتوای پاسخ
  35. کدهای پاسخ
  36. update_run_in_plan_entry
  37. پارامترها
  38. بدنه درخواست
  39. نمونه درخواست
  40. کدهای پاسخ
  41. close_plan
  42. پارامترها
  43. محتوای پاسخ
  44. کدهای پاسخ
  45. delete_plan
  46. پارامترها
  47. کدهای پاسخ
  48. delete_plan_entry
  49. پارامترها
  50. کدهای پاسخ
  51. delete_run_from_plan_entry
  52. پارامترها
  53. کدهای پاسخ

از متدهای API زیر برای گرفتن جزئیات test planها و ایجاد یا تغییر آن‌ها استفاده کنید. در TestRail، test plan به شما کمک می‌کند چند test run را با هم گروه‌بندی کنید و برای مرورگر، سیستم‌عامل یا configurationهای مختلفی که تعیین کرده‌اید، بدون اضافه‌کردن تک‌تک test runها، test runها را خودکار بسازید.

get_plan

 یک test plan موجود را برمی‌گرداند.

GET index.php?/api/v2/get_plan/{plan_id}

پارامترها

نام نوع الزامی توضیحات
plan_id integer true ID این test plan

محتوای پاسخ

نمونه پاسخ:

{
    "id": 10,
    "name": "Release 1.0: Final (all browsers)",
    "description": null,
    "milestone_id": 3,
    "assignedto_id": null,
    "is_completed": false,
    "completed_on": null,
    "passed_count": 445,
    "blocked_count": 99,
    "untested_count": 473,
    "retest_count": 107,
    "failed_count": 56,
    "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,
    "project_id": 1,
    "created_on": 1646058671,
    "created_by": 1,
    "url": "https://74trialapitesting.testrail.io/index.php?/plans/view/10",
    "start_on": null,
    "due_date": null,
    "entries": [
        {
            "id": "75698796-61d5-46e8-9c14-d334351f12d0",
            "suite_id": 1,
            "name": "Browser test",
            "refs": null,
            "description": null,
            "include_all": true,
            "runs": [
                {
                    "id": 13,
                    "suite_id": 1,
                    "name": "Browser test",
                    "description": null,
                    "milestone_id": 3,
                    "assignedto_id": null,
                    "include_all": true,
                    "is_completed": false,
                    "completed_on": null,
                    "passed_count": 88,
                    "blocked_count": 20,
                    "untested_count": 97,
                    "retest_count": 19,
                    "failed_count": 12,
                    "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,
                    "project_id": 1,
                    "plan_id": 10,
                    "entry_index": 1,
                    "entry_id": "75698796-61d5-46e8-9c14-d334351f12d0",
                    "config": "Chrome",
                    "config_ids": [
                        3
                    ],
                    "created_on": 1646058671,
                    "refs": null,
                    "created_by": 1,
                    "url": "https://74trialapitesting.testrail.io/index.php?/runs/view/13"
                }
            ]
        }
    ]
}

فیلدهای زیر در پاسخ برگردانده می‌شوند:

نام نوع توضیحات
assignedto_id integer ID کاربری که کل test plan به او اختصاص داده شده است
blocked_count integer تعداد تست‌هایی در test plan که با status blocked مشخص شده‌اند
completed_on timestamp تاریخ/زمان بسته‌شدن test plan به‌صورت UNIX timestamp
created_by integer ID کاربری که test plan را ایجاد کرده است
created_on timestamp تاریخ/زمان ایجاد test plan به‌صورت UNIX timestamp
custom_status?_count integer تعداد تست‌های test plan با custom status مربوطه
description string توضیح test plan
entries array آرایه‌ای از entryها؛ یعنی گروه‌هایی از test runها
failed_count integer تعداد تست‌هایی در test plan که با status failed مشخص شده‌اند
id integer ID یکتای test plan
is_completed boolean اگر test plan بسته شده باشد true است؛ در غیر این صورت false
milestone_id integer ID milestone که این test plan به آن تعلق دارد
name string نام test plan
passed_count integer تعداد تست‌هایی در test plan که با status passed مشخص شده‌اند
project_id integer ID project که این test plan به آن تعلق دارد
refs string رشته‌ای از IDهای requirement خارجی، جداشده با کاما – به TestRail ۶.۳ یا نسخه‌های بعدی نیاز دارد
retest_count integer تعداد تست‌هایی در test plan که با status retest مشخص شده‌اند
untested_count integer تعداد تست‌هایی در test plan که با status untested مشخص شده‌اند
url string آدرس/URL test plan در رابط کاربری
start_on timestamp تاریخ شروع test plan به‌صورت UNIX timestamp.
due_on timestamp تاریخ پایان test plan به‌صورت UNIX timestamp.

فیلد entries شامل آرایه‌ای از entriestest plan است. هر entry در test plan، گروهی از test runهاست که به یک test suite تعلق دارند، درست مثل رابط کاربری. هر گروه می‌تواند تعداد متفاوتی test run داشته باشد و از configurationها هم پشتیبانی می‌کند. همچنین ببینید add_plan و add_plan_entry.

کدهای پاسخ

کد status توضیحات
200 موفقیت‌آمیز؛ test plan و test runهای آن در پاسخ برگردانده می‌شوند
400 test plan نامعتبر یا ناشناخته
403 دسترسی به project وجود ندارد
429 فقط TestRail Cloud– درخواست‌های بیش از حد (ببینید API rate limit)

get_plans

فهرستی از test planهای یک project را برمی‌گرداند.

GET index.php?/api/v2/get_plans/{project_id}

پارامترها

نام نوع الزامی توضیحات
project_id integer true ID این project

بدنه درخواست

نام نوع الزامی توضیحات
created_after timestamp false فقط test planهایی را برمی‌گرداند که بعد از این تاریخ ایجاد شده‌اند (به‌صورت UNIX timestamp)
created_before timestamp false فقط test planهایی را برمی‌گرداند که قبل از این تاریخ ایجاد شده‌اند (به‌صورت UNIX timestamp)
created_by integer (list) false فهرستی از سازندگان (user IDها)، جداشده با کاما، برای فیلتر کردن
is_completed boolean false برای برگرداندن فقط test planهای تکمیل‌شده مقدار ۱ و برای برگرداندن فقط test planهای فعال مقدار ۰ را وارد کنید
limit/offset integer false نتیجه را به :limit test plan محدود می‌کند. برای رد کردن رکوردها از :offset استفاده کنید
milestone_id integer (list) false فهرستی از milestone IDها، جداشده با کاما، برای فیلتر کردن
refs string false reference ID، برای مثال TR-a، ۴۲۹۱ و موارد مشابه

این متد حداکثر ۲۵۰ entry را در آرایه پاسخ برمی‌گرداند. برای دریافت entryهای بیشتر، می‌توانید با فیلتر offset که در بخش Request filters در پایین توضیح داده شده است، درخواست‌های بیشتری ارسال کنید.

# 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

محتوای پاسخ

پاسخ شامل آرایه‌ای از test planهاست. هر test plan در این فهرست همان قالب get_plan را دارد، به‌جز فیلد entries که در پاسخ قرار نمی‌گیرد.

{
    "offset": 0,
    "limit": 250,
    "size": 1,
    "_links": {
        "next": null,
        "prev": null,
    },
    "plans": [
        {
            "id": 1,
            "name": "System test 1", 
            // ..
        },
        {
            "id": 2,
            "name": "System test 2", 
            // ..
        },
        // ..
    ]
}

get_plans از Dynamic Filters هم پشتیبانی می‌کند:

{
    "id": 1,
    "name": "Test Plan Name",
    "entries": [
        {
            "id": "entry-id",
            "suite_id": 1,
            "name": "Test Run 1 Name",
            "include_all": false,
            "dynamic_filters": {
                "mode": "1",
                "filters": {
                    "cases:priority_id": {
                        "values": [2]
                    }
                }
            },
            "runs": [
                {
                    "id": 10,
                    "name": "Dynamic Filter Run",
                    "dynamic_filters": {
                        "mode": "1",
                        "filters": {
                            "cases:priority_id": {
                                "values": [2]
                            }
                        }
                    }
                }
            ]
        }
    ]
}

کدهای پاسخ

کد status توضیحات
200 موفقیت‌آمیز؛ test planها در پاسخ برگردانده می‌شوند
400 test plan نامعتبر یا ناشناخته
403 دسترسی به project وجود ندارد
429 فقط TestRail Cloud– درخواست‌های بیش از حد (ببینید API rate limit)

add_plan

یک test plan جدید ایجاد می‌کند.

POST index.php?/api/v2/add_plan/{project_id}

پارامترها

نام نوع الزامی توضیحات
project_id integer true ID projectی که test plan باید به آن اضافه شود

بدنه درخواست

نام نوع الزامی توضیحات
name string true نام test plan
description string false توضیح test plan
milestone_id integer false ID milestone که باید به test plan وصل شود
start_on timestamp false تاریخ شروع test plan به‌صورت UNIX timestamp.
due_on timestamp false تاریخ پایان test plan به‌صورت UNIX timestamp.
entries array false آرایه‌ای از objectها که test runهای plan را توصیف می‌کند؛ مثال زیر و add_plan_entry را ببینید

نمونه درخواست

 مثال زیر نشان می‌دهد چطور یک test plan جدید با چند test run ایجاد کنید:

{
    "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 از configurationها هم پشتیبانی می‌کند:

{
    "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]
                }
                // ..
            ]
        },
        // ..
    ]
}

add_plan از Dynamic Filters هم پشتیبانی می‌کند:

{
    "name": "Test Plan Name",
    "entries": [
        {
            "suite_id": 1,
            "name": "Dynamic Filter Entry",
            "include_all": false,
            "case_ids": [],
            "dynamic_filters": {
                "mode": "1",
                "filters": {
                    "cases:priority_id": {
                        "values": [2]
                    }
                }
            }
        }
    ]
}

با این کار، برای هر entry در test plan چند test run ایجاد می‌شود؛ مشابه کاری که در رابط کاربری TestRail برای مدیریت test planها و configurationها انجام می‌دهید. برای جزئیات بیشتر به add_plan_entry در پایین مراجعه کنید.

فیلد «refs» در TestRail ۶.۳ یا نسخه‌های بعدی پشتیبانی می‌شود.

محتوای پاسخ

اگر موفق باشد، این متد test plan جدید را با همان قالب پاسخ get_plan برمی‌گرداند.

کدهای پاسخ

کد status توضیحات
200 موفقیت‌آمیز؛ test plan ایجاد شده و در پاسخ برگردانده می‌شود
400 project نامعتبر یا ناشناخته
403 مجوز افزودن test plan وجود ندارد یا به project دسترسی ندارید
429 فقط TestRail Cloud– درخواست‌های بیش از حد (ببینید API rate limit)

add_plan_entry

 یک یا چند test run جدید به test plan اضافه می‌کند.

POST index.php?/api/v2/add_plan_entry/{plan_id}

پارامترها

نام نوع الزامی توضیحات
plan_id integer true ID test planی که test runها باید به آن اضافه شوند
dynamic_filters object false payload یک dynamic filter برای انتخاب test caseهای داخل test run است. رفتار این payload مانند TestRail UI Selection Filter در رابط کاربری TestRail است.

بدنه درخواست

نام نوع الزامی توضیحات
suite_id integer توضیح را ببینید ID test suite برای test runها (اگر از projectهایی با چند suite یا پشتیبانی baseline استفاده می‌کنید، الزامی است)
name string false نام test runها
description string false توضیح test plan
assignedto_id integer false ID کاربری که test run باید به او اختصاص داده شود
start_on timestamp false تاریخ شروع test plan به‌صورت UNIX timestamp.
due_on timestamp false تاریخ پایان test plan به‌صورت UNIX timestamp.
include_all boolean false true یعنی همه test caseهای test suite شامل شوند؛ false یعنی انتخاب سفارشی test caseها استفاده شود
case_ids array false آرایه‌ای از case IDها برای انتخاب سفارشی test caseها (وقتی include_all false باشد، الزامی است)
config_ids array false آرایه‌ای از configuration IDها که برای test run مربوط به entry در test plan استفاده می‌شود
refs string false فهرستی از referenceها/requirementها که با کاما جدا شده‌اند
runs array false آرایه‌ای از test runها

نمونه درخواست

مثال زیر نشان می‌دهد چطور یک entry جدید در test plan با چند test run و configuration ایجاد کنید:

{
    "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 یک test run جدید ایجاد می‌شود. فیلدهای سطح بالا assignedto_id ، include_all و case_ids گیرنده پیش‌فرض و انتخاب test case را برای همه test runها مشخص می‌کنند. همان‌طور که در مثال بالا نشان داده شده، می‌توانید این فیلدها را برای هر test run override کنید.

فیلد سطح بالای config_ids فهرست ترکیبی configurationها را برای فهرست test runها مشخص می‌کند. همه configurationهایی که test runهای جداگانه به آن‌ها reference می‌دهند باید در این فیلد باشند. هر test run می‌تواند از هر configuration group موجود یک configuration مشخص کند و باید با یک ترکیب کامل configuration مطابقت داشته باشد. برای مثال، فرض کنید configurationها و configuration groupهای زیر را داریم:

ID گروه configuration
1 مرورگرها Chrome
2 مرورگرها Firefox
3 مرورگرها Internet Explorer
4 سیستم‌عامل‌ها Windows 7
5 سیستم‌عامل‌ها Windows 8
6 سیستم‌عامل‌ها Ubuntu 12

فیلد سطح بالای config_ids در مثال، این configurationها را شامل می‌شود 1 ، 2 ، 4 ، 5 و 6. ترکیب‌های معتبر باید از هر configuration group یک configuration داشته باشند. بنابراین ترکیب‌های معتبر عبارت‌اند از:

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 ۸) و 2,6 (Firefox, Ubuntu ۱۲). سپس TestRail دو test run جداگانه اضافه می‌کند؛ برای هر ترکیب یکی.

add_plan_entry از Dynamic Filters هم پشتیبانی می‌کند:

{
  "id": "92ac304e-86e4-4b77-a27a-10d16f1141a2",
  "suite_id": 7660,
  "name": "Authentication Tests",
  "description": null,
  "refs": null,
  "include_all": false,
  "dynamic_filters": {
    "mode": "1",
    "filters": {
      "cases:section_id": {
        "values": [331183],
        "type_id": 4
      }
    }
  },
  "dataset_id": null,
  "runs": [
    {
      "id": 10116,
      "name": "Authentication Test Run 1",
      "description": null,
      "suite_id": 7660,
      "project_id": 400,
      "plan_id": 10115,
      "milestone_id": null,
      "assignedto_id": null,
      "include_all": false,
      "is_completed": false,
      "completed_on": null,
      "is_archived": false,
      "archived_on": null,
      "config": null,
      "config_ids": [],
      "passed_count": 0,
      "blocked_count": 0,
      "untested_count": 8,
      "retest_count": 0,
      "failed_count": 0,
      "created_by": 292,
      "created_on": 1781605370,
      "updated_on": null,
      "refs": null,
      "url": "https://test.testrail.io/index.php?/runs/view/123",
      "start_on": null,
      "due_on": null,
      "dynamic_filters": {
        "mode": "1",
        "filters": {
          "cases:section_id": {
            "values": [331183],
            "type_id": 4
          }
        }
      },
      "entry_index": 1,
      "entry_id": "92ac304e-86e4-4b77-a27a-10d16f1141a2",
      "custom_status1_count": 0,
      ...
      "dataset_id": null
    }
  ]
}

محتوای پاسخ

اگر موفق باشد، این متد entry جدید test plan را همراه با test runها، با همان قالب پاسخ فیلد entries در get_plan برمی‌گرداند؛ اما فقط برای یک entry، نه فهرستی از entryها.

کدهای پاسخ

کد status توضیحات
200 موفقیت‌آمیز؛ test runها ایجاد شده‌اند و در پاسخ برگردانده می‌شوند. توجه کنید test runهای یک plan داخل entryها سازمان‌دهی می‌شوند و entryها ID جداگانه دارند (برای استفاده با update_plan_entry و delete_plan_entry).
400 test plan نامعتبر یا ناشناخته
403 مجوز تغییر test planها وجود ندارد یا به project دسترسی ندارید
429 فقط TestRail Cloud– درخواست‌های بیش از حد (ببینید API rate limit)

add_run_to_plan_entry

POST index.php?/api/v2/add_run_to_plan_entry/{plan_id}/{entry_id}

پارامترها

نام نوع الزامی توضیحات
plan_id integer true ID test planی که test runها باید به آن اضافه شوند
entry_id string true ID entry در test plan
dynamic_filters object false payload یک dynamic filter برای انتخاب test caseهای داخل test run است. رفتار این payload مانند TestRail UI Selection Filter در رابط کاربری TestRail است.

بدنه درخواست

نام نوع الزامی توضیحات
config_ids array true آرایه‌ای از configuration IDها که برای test run مربوط به entry در test plan استفاده می‌شود
description text false توضیح test run
assignedto_id integer false ID کاربری که test run باید به او اختصاص داده شود
start_on timestamp false تاریخ شروع test plan به‌صورت UNIX timestamp.
due_on timestamp false تاریخ پایان test plan به‌صورت UNIX timestamp.
include_all boolean false true یعنی همه test caseهای test suite شامل شوند و false یعنی انتخاب سفارشی test caseها استفاده شود
case_ids array false آرایه‌ای از case IDها برای انتخاب سفارشی test caseها (وقتی include_all false باشد، الزامی است)
refs string false فهرستی از referenceها/requirementها که با کاما جدا شده‌اند

نمونه درخواست

همچنین مثال زیر نشان می‌دهد چطور یک test run جدید به entry در test plan اضافه کنید:

{
    "config_ids": [1, 5],
    "include_all": false,
    "case_ids": [1, 2, 4]
}

add_run_to_plan_entry از Dynamic Filters هم پشتیبانی می‌کند:

{
    "suite_id": 1,
    "name": "Test Plan Entry",
    "include_all": false,
    "case_ids": [],
    "dynamic_filters": {
        "mode": "1",
        "filters": {
            "cases:priority_id": {
                "values": [2]
            }
        }
    }
}

کدهای پاسخ

کد status توضیحات
200 موفقیت‌آمیز؛ test run اضافه شده و در پاسخ برگردانده می‌شود
400 test plan یا entry نامعتبر/ناشناخته است، یا بدنه POST نامعتبر است
403 مجوز تغییر test planها وجود ندارد یا به project دسترسی ندارید
429 فقط TestRail Cloud– درخواست‌های بیش از حد (ببینید API rate limit)

update_plan

یک test plan موجود را به‌روزرسانی می‌کند (partial update پشتیبانی می‌شود؛ یعنی می‌توانید فقط فیلدهای مشخصی را ارسال و به‌روزرسانی کنید).

POST index.php?/api/v2/update_plan/{plan_id}

پارامترها

نام نوع الزامی توضیحات
plan_id integer true ID این test plan

به‌جز فیلد entries ، این متد از همان فیلدهای POST پشتیبانی می‌کند که add_plan.

محتوای پاسخ

اگر موفق باشد، این متد test plan به‌روزرسانی‌شده را با همان قالب پاسخ get_plan برمی‌گرداند.

کدهای پاسخ

کد status توضیحات
200 موفقیت‌آمیز؛ test plan به‌روزرسانی شده و در پاسخ برگردانده می‌شود
400 test plan نامعتبر یا ناشناخته
403 مجوز تغییر test planها وجود ندارد یا به project دسترسی ندارید
429 فقط TestRail Cloud– درخواست‌های بیش از حد (ببینید API rate limit)

update_plan_entry

یک یا چند گروه test run را در یک plan به‌روزرسانی می‌کند (partial update پشتیبانی می‌شود؛ یعنی می‌توانید فقط فیلدهای مشخصی را ارسال و به‌روزرسانی کنید).

POST index.php?/api/v2/update_plan_entry/{plan_id}/{entry_id}

پارامترها

نام نوع الزامی توضیحات
plan_id integer true ID این test plan
entry_id string true ID entry در test plan (توجه: test run ID نیست)
dynamic_filters object false payload یک dynamic filter برای انتخاب test caseهای داخل test run است. رفتار این payload مانند TestRail UI Selection Filter در رابط کاربری TestRail است.

بدنه درخواست

نام نوع الزامی توضیحات
name string true نام test runها
description text false توضیح test runها – به TestRail ۵.۲ یا نسخه‌های بعدی نیاز دارد
assignedto_id integer false ID کاربری که test run باید به او اختصاص داده شود
start_on timestamp false تاریخ شروع test plan به‌صورت UNIX timestamp.
due_on timestamp false تاریخ پایان test plan به‌صورت UNIX timestamp.
include_all boolean false true یعنی همه test caseهای test suite شامل شوند و false یعنی انتخاب سفارشی test caseها استفاده شود (پیش‌فرض: true)
case_ids array false آرایه‌ای از case IDها برای انتخاب سفارشی test caseها (وقتی include_all false باشد، الزامی است)
refs string false رشته‌ای از IDهای requirement خارجی، جداشده با کاما. – به TestRail ۶.۳ یا نسخه‌های بعدی نیاز دارد

 

 

فیلدهای config_ids و runs در درخواست‌های POST به endpoint update_plan_entry پشتیبانی نمی‌شوند.

محتوای پاسخ

اگر موفق باشد، این متد entry به‌روزرسانی‌شده test plan را همراه با test runها، با همان قالب پاسخ فیلد entries در get_plan برمی‌گرداند؛ اما فقط برای یک entry، نه فهرستی از entryها.

کدهای پاسخ

کد status توضیحات
200 موفقیت‌آمیز؛ test runها به‌روزرسانی شده‌اند و در پاسخ برگردانده می‌شوند
400 test plan یا entry نامعتبر یا ناشناخته
403 مجوز تغییر test planها وجود ندارد یا به project دسترسی ندارید
429 فقط TestRail Cloud– درخواست‌های بیش از حد (ببینید API rate limit)

update_run_in_plan_entry

 

این endpoint به TestRail ۶.۴ یا نسخه‌های بعدی نیاز دارد.

یک test run را داخل entryای از plan که از configuration استفاده می‌کند به‌روزرسانی می‌کند.

POST index.php?/api/v2/update_run_in_plan_entry/{run_id}

پارامترها

نام نوع الزامی توضیحات
run_id integer true ID این test run
dynamic_filters object false payload یک dynamic filter برای انتخاب test caseهای داخل test run است. رفتار این payload مانند TestRail UI Selection Filter در رابط کاربری TestRail است.

بدنه درخواست

نام نوع الزامی توضیحات
description text false توضیح test run
assignedto_id integer false ID کاربری که test run باید به او اختصاص داده شود
start_on timestamp false تاریخ شروع test plan به‌صورت UNIX timestamp.
due_on timestamp false تاریخ پایان test plan به‌صورت UNIX timestamp.
include_all boolean false true یعنی همه test caseهای test suite شامل شوند و false یعنی انتخاب سفارشی test caseها استفاده شود (پیش‌فرض: true)
case_ids array توضیح را ببینید آرایه‌ای از case IDها برای انتخاب سفارشی test caseها (وقتی include_all false باشد، الزامی است)
refs string false رشته‌ای از IDهای requirement خارجی، جداشده با کاما. – به TestRail ۶.۳ یا نسخه‌های بعدی نیاز دارد

نمونه درخواست

همچنین مثال زیر نشان می‌دهد چطور یک run را داخل entryای از plan که از configuration استفاده می‌کند به‌روزرسانی کنید:

{
    "include_all": false,
    "case_ids": [1,2,4]
}

کدهای پاسخ

کد status توضیحات
200 موفقیت‌آمیز؛ test run به‌روزرسانی شده و در پاسخ برگردانده می‌شود
400 test run نامعتبر یا ناشناخته است، یا بدنه POST نامعتبر است
403 مجوز تغییر test planها وجود ندارد یا به project دسترسی ندارید
429 فقط TestRail Cloud– درخواست‌های بیش از حد (ببینید API rate limit)

close_plan

 

بستن test plan قابل برگشت نیست.

یک test plan موجود را می‌بندد و test runهای آن را همراه با & نتایجشان بایگانی می‌کند.

POST index.php?/api/v2/close_plan/{plan_id}

پارامترها

نام نوع الزامی توضیحات
plan_id integer true ID این test plan

محتوای پاسخ

اگر موفق باشد، این متد test plan بسته‌شده را با همان قالب پاسخ get_plan برمی‌گرداند.

کدهای پاسخ

کد status توضیحات
200 موفقیت‌آمیز؛ test plan و همه test runهای آن بسته و بایگانی شده‌اند. test plan و test runهای آن در پاسخ برگردانده می‌شوند
400 test plan نامعتبر یا ناشناخته
403 مجوز بستن test planها وجود ندارد یا به project دسترسی ندارید
429 فقط TestRail Cloud– درخواست‌های بیش از حد (ببینید API rate limit)

delete_plan

 

حذف test plan قابل برگشت نیست و همه test runها و & نتایج test plan را برای همیشه حذف می‌کند.

یک test plan موجود را حذف می‌کند.

POST index.php?/api/v2/delete_plan/{plan_id}

پارامترها

نام نوع الزامی توضیحات
plan_id integer true ID این test plan

کدهای پاسخ

کد status توضیحات
200 موفقیت‌آمیز؛ test plan و همه test runهای آن حذف شده‌اند
400 test plan نامعتبر یا ناشناخته
403 مجوز حذف test planها وجود ندارد یا به project دسترسی ندارید
429 فقط TestRail Cloud– درخواست‌های بیش از حد (ببینید API rate limit)

delete_plan_entry

 

حذف یک entry از test plan قابل برگشت نیست و همه test runها و & نتایج test plan را برای همیشه حذف می‌کند.

یک یا چند test run موجود را از plan حذف می‌کند.

POST index.php?/api/v2/delete_plan_entry/{plan_id}/{entry_id}

پارامترها

نام نوع الزامی توضیحات
plan_id integer true ID این test plan
entry_id string true ID entry در test plan (توجه: test run ID نیست)

کدهای پاسخ

کد status توضیحات
200 موفقیت‌آمیز؛ test runها از test plan حذف شده‌اند
400 test plan یا entry نامعتبر یا ناشناخته
403 مجوز حذف test planها وجود ندارد یا به project دسترسی ندارید
429 فقط TestRail Cloud– درخواست‌های بیش از حد (ببینید API rate limit)

delete_run_from_plan_entry

یک test run را از entry در test plan حذف می‌کند

POST index.php?/api/v2/delete_run_from_plan_entry/{run_id}

پارامترها

نام نوع الزامی توضیحات
run_id integer true ID این test run

کدهای پاسخ

کد status توضیحات
200 موفقیت‌آمیز؛ test runها از test plan حذف شده‌اند
400 test plan یا entry نامعتبر یا ناشناخته
403 مجوز حذف test planها وجود ندارد یا به project دسترسی ندارید
429 فقط TestRail Cloud– درخواست‌های بیش از حد (ببینید API rate limit)

ایستگاه بعدی شما

TestRail را همین حالا در محیط دمو ببینید.

محیط تست آماده

دسترسی به دمو TestRail

قبل از ورود، مشخصات زیر را در صفحه ورود محیط دمو وارد کنید.

آدرس دمو

https://demo.testrail.ir

ایمیل ورود

demo@testrail.ir

رمز عبور

demo_user