از روشهای زیر API برای دریافت جزئیات testها استفاده کنید؛ منظور از test، نمونهای از یک test case است که به یک test run یا test plan مشخص اضافه شده است.
get_test #
یک test موجود را برمیگرداند.
GET index.php?/api/v2/get_test/{test_id}
پارامترها #
| نام | نوع | الزامی | توضیحات |
|---|---|---|---|
| test_id | integer | true | ID تست |
اگر به نتیجههای test نتایج نیاز دارید، نه خود testها، get_results را ببینید.
فیلترهای درخواست #
فیلترهای زیر را میتوانید با query parameter در URL درخواست اعمال کنید:
| نام | نوع | توضیحات |
|---|---|---|
| with_data | string | پارامتری برای دریافت دادهها |
محتوای پاسخ #
نمونه پاسخ:
{
"assignedto_id": 1,
"case_id": 1,
"custom_expected": "..",
"custom_preconds": "..",
"custom_steps_separated": [
{
"content": "Step 1",
"expected": "Expected Result 1"
},
{
"content": "Step 2",
"expected": "Expected Result 2"
}
],
"estimate": "1m 5s",
"estimate_forecast": null,
"id": 100,
"priority_id": 2,
"run_id": 1,
"status_id": 5,
"title": "Verify line spacing on multi-page document",
"type_id": 4,
"labels": [
{
"id": 1,
"title": "label1",
},
{
"id": 2,
"title": "label2",
}
]
}
فیلدهای سیستمی زیر همیشه در پاسخ وجود دارند:
| نام | نوع | توضیحات |
|---|---|---|
| assignedto_id | integer | ID کاربری که test به او اختصاص داده شده است |
| case_id | integer | ID مربوط به test case مرتبط |
| estimate | timespan | برآورد test case مرتبط، مثل «30s» یا «1m 45s» |
| estimate_forecast | timespan | پیشبینی برآورد test case مرتبط، مثل «30s» یا «1m 45s» |
| id | integer | ID یکتای test |
| milestone_id | integer | ID مربوط به milestone متصل به test case |
| priority_id | integer | ID مربوط به priority متصل به test case |
| refs | string | فهرستی از referenceها یا requirementهای متصل به test case، جداشده با کاما |
| run_id | integer | ID مربوط به test runی که test به آن تعلق دارد |
| status_id | integer | ID مربوط به status فعلی test؛ همچنین get_statuses را ببینید |
| title | string | عنوان test case مرتبط |
| type_id | integer | ID مربوط به نوع test case که به این test case متصل است |
فیلدهای سفارشی test caseها هم در پاسخ میآیند و برای شناسه فیلد، از نام سیستمی خود با پیشوند «custom_» استفاده میکنند. برای اطلاعات بیشتر، add_case را ببینید تا فهرست کامل نوعهای موجود برای فیلدهای سفارشی را مشاهده کنید.
کدهای پاسخ #
| Status Code | توضیحات |
|---|---|
| 200 | موفقیتآمیز؛ test در پاسخ برگردانده میشود |
| 400 | test case نامعتبر یا ناشناخته |
| 403 | به project دسترسی ندارید |
| 429 | فقط TestRail Cloud— درخواستها بیش از حد مجاز است (ببینید API rate limit) |
get_tests #
فهرست testهای یک test run را برمیگرداند.
GET index.php?/api/v2/get_tests/{run_id}
پارامترها #
| نام | نوع | الزامی | توضیحات |
|---|---|---|---|
| run_id | integer | true | ID مربوط به test run |
اگر به نتیجههای test نتایج نیاز دارید، نه خود testها، get_results را ببینید.
فیلترهای درخواست #
فیلترهای زیر را میتوانید با query parameter در URL درخواست اعمال کنید:
| نام | نوع | توضیحات |
|---|---|---|
| status_id | integer (list) | فهرستی از status IDها، جداشده با کاما، برای فیلتر کردن |
| limit | integer | عددی که حداکثر تعداد testهای نمایشدادهشده در پاسخ را تعیین میکند (پارامتر اختیاری. محدودیت اندازه پاسخ بهصورت پیشفرض ۲۵۰ است) – به TestRail ۶.۷ یا نسخههای جدیدتر نیاز دارد |
| offset | integer (list) | عددی که مشخص میکند پاسخ از کدام موقعیت شروع شود (پارامتر اختیاری) – به TestRail ۶.۷ یا نسخههای جدیدتر نیاز دارد |
|
label_id
|
Integer (list) | IDهای label، بهصورت مقادیر جداشده با کاما، برای فیلتر کردن. |
# All test cases for test run with ID 1 and status 4, 5 (Retest and Failed)
GET index.php?/api/v2/get_tests/1&offset=1&limit=30&status_id=4,5
{
"offset": 0,
"limit": 250,
"size": 236,
"_links": {
"next": null,
"prev": null,
},
"tests": [
{
"id": 1,
"title": "Test conditional formatting with basic value range",
},
{
"id": 2,
"title": "Verify line spacing on multi-page document",
},
]
}
کدهای پاسخ #
| Status Code | توضیحات |
|---|---|
| 200 | موفقیتآمیز؛ testها در پاسخ برگردانده میشوند |
| 400 | test run نامعتبر یا ناشناخته |
| 403 | به project دسترسی ندارید |
| 429 | فقط TestRail Cloud— درخواستها بیش از حد مجاز است (ببینید API rate limit) |
update_test #
labelهای اختصاصدادهشده به یک test موجود را بهروزرسانی میکند.
POST index.php?/api/v2/update_test/{test_id}
پارامترها #
| نام | نوع | الزامی | توضیحات |
|---|---|---|---|
| test_id | integer | true | ID تستی که باید بهروزرسانی شود. |
|
labels
|
آرایهای از مقدارهای ترکیبی (integer یا string) | true | ID یک label، عنوان یک label، یا هر دو، در قالب آرایه. |
محتوای پاسخ #
نمونه پاسخ:
{
"assignedto_id": 1,
"case_id": 1,
"custom_expected": "..",
"custom_preconds": "..",
"custom_steps_separated": [
{
"content": "Step 1",
"expected": "Expected Result 1"
},
{
"content": "Step 2",
"expected": "Expected Result 2"
}
],
"estimate": "1m 5s",
"estimate_forecast": null,
"id": 100,
"priority_id": 2,
"run_id": 1, "status_id": 5,
"title": "Verify line spacing on multi-page document",
"type_id": 4,
"labels": [
{
"id": 1,
"title": "label1",
},
{
"id": 2,
"title": "label2",
}
]
}
کدهای پاسخ #
| Status Code | توضیحات |
|---|---|
| 200 | موفقیتآمیز؛ testها در پاسخ برگردانده میشوند |
| 400 | label نامعتبر |
| 403 | به project دسترسی ندارید |
| 429 | فقط TestRail Cloud— درخواستها بیش از حد مجاز است (ببینید API rate limit) |
update_tests #
labelهای اختصاصدادهشده به چند test را با مقدارهای یکسان بهروزرسانی میکند. این endpoint از بهروزرسانی چند test با labelهای متفاوت برای هر test پشتیبانی نمیکند.
POST index.php?/api/v2/update_tests
پارامترها #
| نام | نوع | الزامی | توضیحات |
|---|---|---|---|
| test_id | integer | true | ID تستی که باید بهروزرسانی شود. |
|
labels
|
آرایهای از مقدارهای ترکیبی (integer یا string) | true | ID یک label، عنوان یک label، یا هر دو، در قالب آرایه. |
محتوای پاسخ #
نمونه پاسخ:
{
"test_ids": [1, 2, 3],
"labels": [
{
"id": 1,
"title": "label1",
},
{
"id": 2,
"title": "label2",
}
]
}
کدهای پاسخ #
| Status Code | توضیحات |
|---|---|
| 200 | موفقیتآمیز؛ testها در پاسخ برگردانده میشوند |
| 400 | label نامعتبر |
| 403 | به project دسترسی ندارید |
| 429 | فقط TestRail Cloud— درخواستها بیش از حد مجاز است (ببینید API rate limit) |

