برای دریافت جزئیات sectionها و ایجاد یا تغییر آنها، از متدهای زیر API استفاده کنید. از sectionها برای گروهبندی و سازماندهی test caseها در test suiteها استفاده میشود.
get_section #
یک section موجود را برمیگرداند.
GET index.php?/api/v2/get_section/{section_id}
پارامترها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| section_id | integer | true | ID section |
محتوای پاسخ #
نمونهای از پاسخ معمول را در زیر میبینید:
{
"depth": 0,
"description": null,
"display_order": 1,
"id": 1,
"name": "Prerequisites",
"parent_id": null,
"suite_id": 1
}
فیلدهای زیر در پاسخ برگردانده میشوند:
| نام | نوع | توضیح |
|---|---|---|
| depth | integer | سطح این section در ساختار سلسلهمراتبی test suite |
| description | string | توضیح section |
| display_order | integer | ترتیب نمایش در test suite |
| id | integer | ID یکتای section |
| parent_id | integer | ID section والد در test suite |
| name | string | نام section |
| suite_id | integer | ID test suite مربوط به این section |
فیلدهای depth ، display_order و parent سلسلهمراتب sectionها را در یک test suite تعیین میکنند. فیلد depth برای همه sectionهای سطح ریشه ۰ است و برای همه sectionهای فرزند مقداری بزرگتر از ۰ دارد. بنابراین، فیلد depth سطح section را در سلسلهمراتب نشان میدهد. برای نمونه، get_sections را ببینید.
کدهای پاسخ #
| کد وضعیت | توضیح |
|---|---|
| 200 | موفقیت (section بهعنوان بخشی از پاسخ برگردانده میشود) |
| 400 | section نامعتبر یا ناشناخته |
| 403 | به project دسترسی ندارید |
| 429 | فقط TestRail Cloud— درخواستهای بیش از حد (ببینید: API rate limit) |
get_sections #
فهرست sectionهای یک project و test suite را برمیگرداند.
GET index.php?/api/v2/get_sections/{project_id}&suite_id={suite_id}
پارامترها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| project_id | integer | true | ID project |
| suite_id | integer | توضیح را ببینید | ID test suite (اگر project در حالت single suite کار میکند، اختیاری است) |
فیلترهای درخواست #
فیلترهای زیر را میتوانید با query parameterها در URL درخواست اعمال کنید:
| نام | نوع | توضیح |
|---|---|---|
| limit | integer | تعداد sectionهایی که پاسخ باید برگرداند (اندازه پاسخ بهطور پیشفرض ۲۵۰ است) – به TestRail ۶.۷ یا نسخههای جدیدتر نیاز دارد |
| offset | integer | نقطه شروع شمارش sectionها (offset) – به TestRail ۶.۷ یا نسخههای جدیدتر نیاز دارد |
محتوای پاسخ #
نمونه معمول را در زیر میبینید:
{
"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 | موفقیت (sectionها بهعنوان بخشی از پاسخ برگردانده میشوند) |
| 400 | project یا test suite نامعتبر یا ناشناخته |
| 403 | به project دسترسی ندارید |
| 429 | فقط TestRail Cloud— درخواستهای بیش از حد (ببینید: API rate limit) |
add_section #
یک section جدید ایجاد میکند.
POST index.php?/api/v2/add_section/{project_id}
پارامترها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| project_id | integer | true | ID project |
بدنه درخواست #
فیلدهای زیر در بدنه درخواست POST پشتیبانی میشوند:
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| description | string | false | توضیح section |
| suite_id | integer | توضیح را ببینید | ID test suite (اگر project در حالت single suite کار میکند نادیده گرفته میشود؛ در غیر این صورت الزامی است) |
| parent_id | integer | false | ID section والد (برای ساخت سلسلهمراتب sectionها) |
| name | string | true | نام section |
نمونه درخواست #
مثال زیر نشان میدهد چطور یک section جدید و خالی بسازید (با استفاده از sectionای که قبلاً بهعنوان والد ایجاد کردهاید):
{
"suite_id": 5,
"name": "This is a new section",
"parent_id": 10
}
بعد از اضافهکردن section، میتوانید اضافهکردن test caseها را شروع کنید.
محتوای پاسخ #
در صورت موفقیت، این متد section جدید را با همان قالب پاسخ get_section برمیگرداند.
کدهای پاسخ #
| کد وضعیت | توضیح |
|---|---|
| 200 | موفقیت (section ایجاد شده و بهعنوان بخشی از پاسخ برگردانده میشود) |
| 400 | project یا test suite نامعتبر یا ناشناخته |
| 403 | مجوز افزودن sectionها را ندارید یا به project دسترسی ندارید |
| 429 | فقط TestRail Cloud— درخواستهای بیش از حد (ببینید: API rate limit) |
move_section #
#
این endpoint به TestRail ۶.۵.۲ یا نسخههای جدیدتر نیاز دارد.
یک section را به test suite یا section دیگری منتقل میکند.
POST index.php?/api/v2/move_section/{section_id}
پارامترها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| section_id | integer | true | ID section |
بدنه درخواست #
فیلدهای زیر در بدنه درخواست POST پشتیبانی میشوند:
| نام | نوع | توضیح |
|---|---|---|
| parent_id | integer | ID section والد (اگر section باید به ریشه منتقل شود، میتواند null باشد). باید در همان project و test suite باشد. نباید فرزند مستقیم sectionای باشد که منتقل میشود. |
| after_id | integer | ID sectionای که این section باید بعد از آن قرار بگیرد (میتواند null باشد) |
کدهای پاسخ #
| کد وضعیت | توضیح |
|---|---|
| 200 | موفقیت (section منتقل شده و بهعنوان بخشی از پاسخ برگردانده میشود) |
| 400 | section_id، parent_id یا after_id نامعتبر یا ناشناخته است |
| 403 | مجوز افزودن sectionها را ندارید یا به project دسترسی ندارید |
| 429 | فقط TestRail Cloud— درخواستهای بیش از حد (ببینید: API rate limit) |
update_section #
یک section موجود را بهروزرسانی میکند (بهروزرسانی جزئی پشتیبانی میشود؛ یعنی میتوانید فقط فیلدهای مشخصی را ارسال و بهروزرسانی کنید).
POST index.php?/api/v2/update_section/{section_id}
پارامترها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| section_id | integer | true | ID section |
بدنه درخواست #
فیلدهای زیر در بدنه درخواست POST پشتیبانی میشوند:
| نام | نوع | توضیح |
|---|---|---|
| description | string | توضیح section |
| name | string | نام section |
نمونه درخواست #
مثال زیر نشان میدهد چطور نام یک section موجود را بهروزرسانی کنید:
{
"name": "A better section name"
}
محتوای پاسخ #
در صورت موفقیت، این متد section بهروزرسانیشده را با همان قالب پاسخ get_section برمیگرداند.
کدهای پاسخ #
| کد وضعیت | توضیح |
|---|---|
| 200 | موفقیت (section بهروزرسانی شده و بهعنوان بخشی از پاسخ برگردانده میشود) |
| 400 | section نامعتبر یا ناشناخته |
| 403 |
مجوز تغییر sectionها را ندارید یا به project دسترسی ندارید |
| 429 | فقط TestRail Cloud— درخواستهای بیش از حد (ببینید: API rate limit) |
delete_section #
#
حذف section قابل بازگشت نیست و همه test caseهای مرتبط و همچنین نتایج testهای فعال را حذف میکند؛ & یعنی نتایج testهایی که & هنوز بسته (archive) نشدهاند.
یک section موجود را حذف میکند.
POST index.php?/api/v2/delete_section/{section_id}
پارامترها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| section_id | integer | true | ID section |
پارامتر soft #
#
اگر پارامتر soft را وارد نکنید یا soft=۰ ارسال کنید، section و test caseهای آن حذف میشوند
اگر soft=۱ باشد، تعداد testها، caseها و موارد مشابه تحتتأثیر را برمیگرداند.
با soft=۱، section در TestRail UI واقعاً حذف نمیشود و خروجی فقط در پاسخ API نمایش داده میشود.
کدهای پاسخ #
| کد وضعیت | توضیح |
|---|---|
| 200 | موفقیت (section حذف شده است) |
| 400 | section نامعتبر یا ناشناخته |
| 403 | مجوز حذف sectionها یا test caseها را ندارید یا به project دسترسی ندارید |
| 429 | فقط TestRail Cloud— درخواستهای بیش از حد (ببینید: API rate limit) |

