
API TestRail مبتنی بر HTTP است و میتوانید از درخواستهای ساده HTTP برای تعامل با آن استفاده کنید. تمام درخواست های کتبی باید از روش HTTP POST و تمام درخواست های خواندنی باید از روش HTTP GET استفاده کنند. داده ها در JSON فرمت و رمزگذاری UTF-۸.
احراز هویت #
TestRail انتظار دارد اعتبار احراز هویت از طریق احراز هویت اولیه HTTP استاندارد برای API ارائه شود. دو راه برای احراز هویت درخواست های API با TestRail وجود دارد.
نام کاربری و رمز عبور #
می توانید نام کاربری استاندارد TestRail (که معمولاً آدرس ایمیل شما است) و رمز عبور TestRail خود را برای احراز هویت API به TestRail ارسال کنید. این باید از طریق احراز هویت اولیه HTTP ارسال شود.
بسته به اینکه احراز هویت TestRail شما چگونه پیکربندی شده است، رمز عبور شما ممکن است رمز عبور معمولی Active Directory یا LDAP شما باشد (این به نحوه پیکربندی TestRail بستگی دارد، راهنمای احراز هویت برای یادگیری بیشتر). اگر مطمئن نیستید که نصب TestRail شما از کدام گزینه استفاده می کند، لطفاً از سرپرست TestRail خود بپرسید.
$ curl -H "Content-Type: application/json" \
-u "user@example.com:{some-password}" \
..
#
فراموش نکنید که وقتی رمز عبور خود را وارد می کنید، بریس های فرفری را بردارید.
هدر تعریف شده و از قسمت شروع می شود -H تگ کنید و به دومی ختم می شود \ پس از اعتبار کاربر
نام کاربری و کلید API #
متناوبا، TestRail از کلیدهای API نیز پشتیبانی می کند. کلیدهای API را می توان در TestRail در زیر تولید کرد تنظیمات من. با یک کلید API، همچنان از احراز هویت اولیه HTTP استفاده می کنید و همچنان نام کاربری TestRail خود را ارسال می کنید (به عنوان مثال آدرس ایمیل خود). شما فقط می توانید رمز عبور خود را با هر یک از کلیدهای API تولید شده/فعال جایگزین کنید. میتوانید چندین کلید API برای سیستمهای مختلف یا ابزارهای شخص ثالث ایجاد کنید و با حذف کلید API در هر زمان، دسترسی را لغو کنید. تنظیمات من.
$ curl -H "Content-Type: application/json" \
-u "user@example.com:{api key}" \
..
#
اگر نمونه TestRail خود را روی سرور خود نگهداری می کنید، توصیه می شود HTTPS را برای نصب TestRail خود فعال کنید زیرا استفاده از API مستلزم ارسال نام کاربری و رمز عبور TestRail شما است. برای حسابهای میزبانی TestRail که توسط Gurock نگهداری میشوند، همه حسابها بهطور خودکار از HTTPS استفاده میکنند.
مخزن اسکریپت API #
ما نمونه اسکریپت های API را در مخزن عمومی GitHub خود داریم. ممکن است اسکریپتی بیابید که قبلاً با نیازهای شما مطابقت دارد یا فقط به چند تغییر ساده نیاز دارد. لطفا ما را ببینید TestRail سفارشی سازی مخزن GitHub.
ما همچنین هر کسی را تشویق میکنیم تا اسکریپتهای خود را به این مخزن ارسال کنند، اگر اسکریپتها میتوانند برای سایر کاربران مفید باشند.
مثال درخواست GET #
مثال زیر یک درخواست ساده برای خواندن یک تستکیس را نشان می دهد. ما از ابزار خط فرمان cURL برای ارسال درخواست در این مثال استفاده می کنیم، اما هر ابزار یا کتابخانه HTTP کار خواهد کرد. لطفاً توجه داشته باشید که همه نامهای کاربری، رمز عبور و آدرسهای اینترنتی فقط نمونه هستند.
$ curl -H "Content-Type: application/json" \
-u "user@example.com:APIkey" \
"https://example.testrail.com/index.php?/api/v2/get_case/1"
جزئیات این درخواست:
| قسمت | توضیحات |
|---|---|
| «نوع محتوا: application/json» | هدر مورد نیاز |
| https://example.testrail.com/ | آدرس سرور |
| index.php?/api/v2/ | مسیر API TestRail |
| get_case | متد API که فراخوانی می شود |
| /1 | یک آرگومان برای متد API |
درخواست و پاسخ واقعی HTTP به صورت زیر است (ساده شده):
GET /index.php?/api/v2/get_case/1 HTTP/1.1
Host: example.testrail.com
Content-Type: application/json
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"id":1,
"title":"An example test case"
..
}
نمونه درخواست POST #
درخواست زیر یک درخواست نوشتن ساده برای ارسال نتیجه آزمایش را نشان می دهد:
$ curl -H "Content-Type: application/json" \
-u "user@example.com:" \
-d '{ "status_id": 1 }' \
"https://example.testrail.com//index.php?/api/v2/add_result/1"
درخواست و پاسخ به صورت زیر است (ساده شده):
POST /index.php?/api/v2/add_result/1 HTTP/1.1
Host: example.testrail.com
Content-Type: application/json
{ "status_id": 1 }
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"id":1,
"test_id":1,
"status_id":1
..
}
نمونه آپلود پیوست #
#
برای آپلود پیوست ها با استفاده از API، باید از TestRail ۵.۷ یا بالاتر استفاده کنید.
درخواست زیر یک درخواست نوشتن ساده برای افزودن یک پیوست به نتیجه آزمایش را نشان می دهد:
$ curl -H "Content-Type: multipart/form-data" \
-u "user@example.com:" \
-F "attachment=@C:\\image.jpg" \
"https://example.testrail.io/index.php?/api/v2/add_attachment_to_result/1"
درخواست و پاسخ به صورت زیر است (ساده شده):
POST /index.php?/api/v2/add_attachment_to_result/1 HTTP/1.1
Host: example.testrail.io
Content-Type: multipart/form-data
{"attachment_id":11}

