از روشهای API زیر برای آپلود، دریافت و حذف پیوستها استفاده کنید.
هنگام آپلود پیوستها از طریق TestRail API با requestهای POST، باید از headerهای زیر استفاده کنید:
Content-Type: multipart/form-data
پیوست باید بهصورت form data در بدنه request ارسال شود. برای نمونههای ارسال پیوست، مستندات دسترسی به API یا bindingهای TestRail را ببینید.
#
بعد از انتشار TestRail ۷.۱ در Cloud، سیستم مدیریت پیوستها کمی تغییر کرد و قالب جدیدی برای attachment ID معرفی شد. جزئیات را اینجا ببینید: مقدمهای بر TestRail API
add_attachment_to_case #
#
این endpoint به TestRail ۶.۵.۲ یا نسخههای بعدی نیاز دارد.
یک پیوست به test case اضافه میکند. حداکثر اندازه مجاز آپلود 256MB است.
POST index.php?/api/v2/add_attachment_to_case/{case_id}
Parameterها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| case_id | integer | true | ID test caseی که پیوست باید به آن اضافه شود. |
محتوای پاسخ #
در ادامه یک نمونه پاسخ معمولی را میبینید:
{
"attachment_id": 443
}
فیلدهای سیستمی زیر همیشه در پاسخ برگردانده میشوند:
| نام | نوع | توضیح |
|---|---|---|
| attachment_id | integer | ID پیوستی که در TestRail آپلود شده است |
کدهای پاسخ #
| Status Code | توضیح |
|---|---|
| 200 | موفقیت (attachment ID در پاسخ برگردانده میشود) |
| 400 | test case نامعتبر یا ناشناخته |
| 403 | به project دسترسی ندارید |
| 429 | فقط برای TestRail Cloud—درخواستهای بیش از حد (ببینید API rate limit) |
add_attachment_to_plan #
#
این endpoint به TestRail ۶.۳ یا نسخههای بعدی نیاز دارد.
یک پیوست به test plan اضافه میکند. حداکثر اندازه مجاز آپلود 256MB است.
POST index.php?/api/v2/add_attachment_to_plan/{plan_id}
Parameterها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| plan_id | integer | true | ID test planی که پیوست باید به آن اضافه شود. |
محتوای پاسخ #
در ادامه یک نمونه پاسخ معمولی را میبینید:
{
"attachment_id": 443
}
فیلدهای سیستمی زیر همیشه در پاسخ برگردانده میشوند:
| نام | نوع | توضیح |
|---|---|---|
| attachment_id | integer | ID پیوستی که در TestRail آپلود شده است |
کدهای پاسخ #
| Status Code | توضیح |
|---|---|
| 200 | موفقیت (attachment ID در پاسخ برگردانده میشود) |
| 400 | test plan نامعتبر یا ناشناخته |
| 403 | به project دسترسی ندارید |
| 429 | فقط برای TestRail Cloud—درخواستهای بیش از حد (ببینید API rate limit) |
add_attachment_to_plan_entry #
#
این endpoint به TestRail ۶.۳ یا نسخههای بعدی نیاز دارد.
یک پیوست به entry یک test plan اضافه میکند. حداکثر اندازه مجاز آپلود 256MB است.
POST index.php?/api/v2/add_attachment_to_plan_entry/{plan_id}/{entry_id}
Parameterها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| plan_id | integer | true | ID test planی که entry را در خود دارد |
| entry_id | integer | true | ID entry مربوط به test plan که پیوست باید به آن اضافه شود |
محتوای پاسخ #
در ادامه یک نمونه پاسخ معمولی را میبینید:
{
"attachment_id": 443
}
فیلدهای سیستمی زیر همیشه در پاسخ برگردانده میشوند:
| نام | نوع | توضیح |
|---|---|---|
| attachment_id | integer | ID پیوستی که در TestRail آپلود شده است |
کدهای پاسخ #
| Status Code | توضیح |
|---|---|
| 200 | موفقیت (attachment ID در پاسخ برگردانده میشود) |
| 400 | request POST درست قالببندی نشده یا parameterهای ID نامعتبر هستند |
| 403 | به project دسترسی ندارید یا permission کافی ندارید |
| 429 | فقط برای TestRail Cloud—درخواستهای بیش از حد (ببینید API rate limit) |
add_attachment_to_result #
POST index.php?/api/v2/add_attachment_to_result/{result_id}
Parameterها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| result_id | integer | true | ID test resultی که پیوست باید به آن اضافه شود |
برای جزئیات، مستندات Results API را درباره نحوه بهدستآوردن result_idها ببینید.
محتوای پاسخ #
در ادامه یک نمونه پاسخ معمولی را میبینید:
{
"attachment_id": 443
}
فیلدهای سیستمی زیر همیشه در پاسخ برگردانده میشوند:
| نام | نوع | توضیح |
|---|---|---|
| attachment_id | integer | ID پیوستی که در TestRail آپلود شده است |
کدهای پاسخ #
| Status Code | توضیح |
|---|---|
| 200 | موفقیت (attachment ID در پاسخ برگردانده میشود) |
| 400 | request POST درست قالببندی نشده یا result ID نامعتبر است |
| 403 | به project دسترسی ندارید یا permission کافی ندارید |
| 429 | فقط برای TestRail Cloud—درخواستهای بیش از حد (ببینید API rate limit) |
add_attachment_to_run #
#
این endpoint به TestRail ۶.۳ یا نسخههای بعدی نیاز دارد.
یک پیوست به test run اضافه میکند. حداکثر اندازه مجاز آپلود 256MB است.
POST index.php?/api/v2/add_attachment_to_run/{run_id}
Parameterها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| run_id | integer | true | ID test runی که پیوست باید به آن اضافه شود |
محتوای پاسخ #
در ادامه یک نمونه پاسخ معمولی را میبینید:
{
"attachment_id": 443
}
فیلدهای سیستمی زیر همیشه در پاسخ برگردانده میشوند:
| نام | نوع | توضیح |
|---|---|---|
| attachment_id | integer | ID پیوستی که در TestRail آپلود شده است |
کدهای پاسخ #
| Status Code | توضیح |
|---|---|
| 200 | موفقیت (attachment ID در پاسخ برگردانده میشود) |
| 400 | request POST درست قالببندی نشده یا run ID نامعتبر است |
| 403 | به project دسترسی ندارید یا permission کافی ندارید |
| 429 | فقط برای TestRail Cloud—درخواستهای بیش از حد (ببینید API rate limit) |
get_attachments_for_case #
#
این endpoint به TestRail ۵.۷ یا نسخههای بعدی نیاز دارد.
فهرست پیوستهای یک test case را برمیگرداند.
GET index.php?/api/v2/get_attachments_for_case/{case_id}&limit={limit}&offset={offset}
Parameterها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| case_id | integer | true | ID test caseی که میخواهید پیوستها را از آن دریافت کنید |
فیلترهای request #
میتوانید فیلترهای زیر را اعمال کنید:
| نام | نوع | توضیح |
|---|---|---|
| limit | integer | تعداد پیوستهایی که پاسخ باید برگرداند (اندازه پیشفرض پاسخ ۲۵۰ است) – به TestRail ۶.۷ یا نسخههای بعدی نیاز دارد |
| offset | integer | از کجا شمارش پیوستها شروع شود (offset) – به TestRail ۶.۷ یا نسخههای بعدی نیاز دارد |
محتوای پاسخ #
در ادامه یک نمونه پاسخ معمولی را میبینید:
{
"offset": 0,
"limit": 250,
"size": 0,
"_link": {
"next": null,
"prev": null,
},
"attachments": [
{
"id": 1773,
"name": "image.jpg",
"size": 21995,
"created_on": 1585560521,
"project_id": 33,
"case_id": 57333,
"user_id": 1,
"result_id": null
}
]
}
#
بعد از انتشار TestRail ۷.۱ در Cloud، سیستم مدیریت پیوستها کمی تغییر کرد و قالب جدیدی برای attachment ID معرفی شد. جزئیات را اینجا ببینید: API – شروع به کار
{
"offset": 0,
"limit": 250,
"size": 4,
"_links": {
"next": null,
"prev": null
},
"attachments": [
{
"client_id": 614308,
"project_id": 2,
"entity_type": "case",
"id": "2ec27be4-812f-4806-9a5d-d39130d1691a",
"created_on": 1631722975,
"data_id": "63c82867-526d-43be-b1a5-9ddfcf581cf5",
"entity_id": "3",
"filename": "msdia80.dll",
"filetype": "dll",
"legacy_id": 0,
"name": "msdia80.dll",
"size": 904704,
"user_id": 1,
"is_image": false,
"icon": "other"
}
]
}
فیلدهای سیستمی زیر همیشه در پاسخ برگردانده میشوند:
| نام | نوع | توضیح |
|---|---|---|
| id | integer | ID یکتای پیوست |
| name | string | نام پیوست |
| size | integer | اندازه پیوست بر حسب بایت |
| created_on | timestamp | زمان/تاریخ آپلود پیوست |
| project_id | integer | ID projectی که پیوست برای آن آپلود شده است |
| case_id | integer | ID test caseی که پیوست به آن تعلق دارد |
| user_id | integer | ID کاربری که پیوست را آپلود کرده است |
| result_id | integer | ID test resultی که پیوست به آن تعلق دارد |
کدهای پاسخ #
| Status Code | توضیح |
|---|---|
| 200 | موفقیت (آرایهای از جزئیات پیوست در پاسخ برگردانده میشود) |
| 400 | test case ID نامعتبر است |
| 403 | به project دسترسی ندارید یا permission کافی ندارید |
| 429 | فقط برای TestRail Cloud—درخواستهای بیش از حد (ببینید API rate limit) |
get_attachments_for_plan #
#
این endpoint به TestRail ۶.۳ یا نسخههای بعدی نیاز دارد.
فهرست پیوستهای یک test plan را برمیگرداند.
GET index.php?/api/v2/get_attachments_for_plan/{plan_id}&limit={limit}&offset={offset}
Parameterها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| plan_id | integer | true | ID test planی که میخواهید پیوستها را از آن دریافت کنید |
فیلترهای request #
میتوانید فیلترهای زیر را اعمال کنید:
| نام | نوع | توضیح |
|---|---|---|
| limit | integer | تعداد پیوستهایی که پاسخ باید برگرداند (اندازه پیشفرض پاسخ ۲۵۰ است) –به TestRail ۶.۷ یا نسخههای بعدی نیاز دارد |
| offset | integer | از کجا شمارش پیوستها شروع شود (offset) – به TestRail ۶.۷ یا نسخههای بعدی نیاز دارد |
محتوای پاسخ #
در ادامه یک نمونه پاسخ معمولی را میبینید:
[
{
"id": 1900,
"name": "TR-2104.gif",
"size": 3838070,
"created_on": 1602178189,
"project_id": 15,
"case_id": null,
"user_id": 1,
"entity_attachments_id": 360,
"icon_name": "Gif Image",
"result_id": null
}
]
فیلدهای سیستمی زیر همیشه در پاسخ برگردانده میشوند:
| نام | نوع | توضیح |
|---|---|---|
| id | integer | ID یکتای پیوست |
| name | string | نام پیوست |
| size | integer | اندازه پیوست بر حسب بایت |
| created_on | timestamp | زمان/تاریخ آپلود پیوست |
| project_id | integer | ID projectی که پیوست برای آن آپلود شده است |
| case_id | integer | ID test caseی که پیوست به آن تعلق دارد |
| user_id | integer | ID کاربری که پیوست را آپلود کرده است |
| entity_attachments_id | integer | ID رکورد پیوست (نه ID خود پیوست) |
| icon_name | string | نام iconی که در UI TestRail استفاده میشود |
| result_id | integer | ID test resultی که پیوست به آن تعلق دارد |
کدهای پاسخ #
| Status Code | توضیح |
|---|---|
| 200 | موفقیت (آرایهای از جزئیات پیوست در پاسخ برگردانده میشود) |
| 400 | test ID نامعتبر است |
| 403 | به project دسترسی ندارید یا permission کافی ندارید |
| 429 | فقط برای TestRail Cloud—درخواستهای بیش از حد (ببینید API rate limit) |
get_attachments_for_plan_entry #
#
این endpoint به TestRail ۶.۳ یا نسخههای بعدی نیاز دارد.
فهرست پیوستهای entry یک test plan را برمیگرداند.
GET index.php?/api/v2/get_attachments_for_plan_entry/{plan_id}/{entry_id}
Parameterها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| plan_id | integer | true | ID test planی که entry را در خود دارد |
| entry_id | integer | true | ID entry مربوط به test plan که میخواهید پیوستها را از آن دریافت کنید |
این method همان قالب پاسخ get_attachments_for_plan را برمیگرداند.
کدهای پاسخ #
| Status Code | توضیح |
|---|---|
| 200 | موفقیت (آرایهای از جزئیات پیوست در پاسخ برگردانده میشود) |
| 400 | test ID نامعتبر است |
| 403 | به project دسترسی ندارید یا permission کافی ندارید |
| 429 | فقط برای TestRail Cloud—درخواستهای بیش از حد (ببینید API rate limit) |
get_attachments_for_run #
#
این endpoint به TestRail ۶.۳ یا نسخههای بعدی نیاز دارد.
فهرست پیوستهای یک test run را برمیگرداند.
GET index.php?/api/v2/get_attachments_for_run/{run_id}?limit={limit}&offset={offset}
Parameterها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| run_id | integer | true | ID test runی که میخواهید پیوستها را از آن دریافت کنید |
این method همان قالب پاسخ get_attachments_for_plan را برمیگرداند.
فیلترهای request #
میتوانید فیلترهای زیر را اعمال کنید:
| نام | نوع | توضیح |
|---|---|---|
| limit | integer | تعداد پیوستهایی که پاسخ باید برگرداند (اندازه پیشفرض پاسخ ۲۵۰ است) –به TestRail ۶.۷ یا نسخههای بعدی نیاز دارد |
| offset | integer | از کجا شمارش پیوستها شروع شود (offset) – به TestRail ۶.۷ یا نسخههای بعدی نیاز دارد |
کدهای پاسخ #
| Status Code | توضیح |
|---|---|
| 200 | موفقیت (آرایهای از جزئیات پیوست در پاسخ برگردانده میشود) |
| 400 | test ID نامعتبر است |
| 403 | به project دسترسی ندارید یا permission کافی ندارید |
| 429 | فقط برای TestRail Cloud—درخواستهای بیش از حد (ببینید API rate limit) |
get_attachments_for_test #
#
این endpoint به TestRail ۵.۷ یا نسخههای بعدی نیاز دارد.
فهرست پیوستهای resultهای یک test را برمیگرداند.
GET index.php?/api/v2/get_attachments_for_test/{test_id}
Parameterها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| test_id | integer | true | ID testی که میخواهید پیوستها را از آن دریافت کنید |
این method همان قالب پاسخ get_attachments_for_case را برمیگرداند.
کدهای پاسخ #
| Status Code | توضیح |
|---|---|
| 200 | موفقیت (آرایهای از جزئیات پیوست در پاسخ برگردانده میشود) |
| 400 | test ID نامعتبر است |
| 403 | به project دسترسی ندارید یا permission کافی ندارید |
| 429 | فقط برای TestRail Cloud—درخواستهای بیش از حد (ببینید API rate limit) |
get_attachment #
#
این endpoint به TestRail ۵.۷ یا نسخههای بعدی نیاز دارد.
فایل درخواستی را که با attachment_id مشخص شده است، دریافت میکند.
GET index.php?/api/v2/get_attachment/{attachment_id}
Parameterها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| attachment_id | integer | true | ID پیوستی که باید دریافت شود |
کدهای پاسخ #
| Status Code | توضیح |
|---|---|
| 200 | موفقیت (پیوست در بدنه پاسخ برگردانده میشود) |
| 400 | attachment ID نامعتبر است |
| 403 | به project دسترسی ندارید یا permission کافی ندارید |
| 429 | فقط برای TestRail Cloud—درخواستهای بیش از حد (ببینید API rate limit) |
delete_attachment #
#
این endpoint به TestRail ۵.۷ یا نسخههای بعدی نیاز دارد.
پیوستی را که با attachment_id مشخص شده است حذف میکند.
POST index.php?/api/v2/delete_attachment/{attachment_id}
Parameterها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| attachment_id | integer | true | ID پیوستی که باید حذف شود |
محتوای پاسخ #
یک request موفق POST به delete_attachment بدنه پاسخ خالی و کد پاسخ ۲۰۰ برمیگرداند.
کدهای پاسخ #
| Status Code | توضیح |
|---|---|
| 200 | موفقیت (پیوست حذف شد) |
| 400 | attachment ID نامعتبر است |
| 403 | به project دسترسی ندارید یا permission کافی ندارید |
| 429 | فقط برای TestRail Cloud—درخواستهای بیش از حد (ببینید API rate limit) |

