از متدهای 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) |

