از متدهای API زیر برای دریافت جزئیات projectها و ایجاد یا ویرایش projectها استفاده کنید.
get_project #
یک project موجود را برمیگرداند.
GET index.php?/api/v2/get_project/{project_id}
پارامترها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| project_id | integer | true | ID project |
محتوای پاسخ #
نمونهای از یک پاسخ معمول را در ادامه میبینید:
{
"id": 1,
"announcement": "Welcome to project X",
"completed_on": 1389968184,
"default_role_id": 3,
"default_role": "Tester",
"is_completed": false,
"name": "Project X",
"show_announcement": true,
"suite_mode": 1,
"url": "https://instance.testrail.io/index.php?/projects/overview/1",
"users": [
{
"id": 3,
"global_role_id": null,
"global_role": null,
"project_role_id": null,
"project_role": null
}
],
"groups": []
}
فیلدهای زیر در پاسخ برگردانده میشوند:
| نام | نوع | توضیح |
|---|---|---|
| announcement | string | توضیح/اعلان project |
| completed_on | integer | تاریخ/زمانی که project بهعنوان تکمیلشده علامتگذاری شده است (بهصورت UNIX timestamp) |
| default_role | string | نام نقش پیشفرضی که برای دسترسی به project تنظیم شده است — به TestRail ۷.۳ یا نسخههای بعدی نیاز دارد |
| default_role_id | integer | ID نقش پیشفرضی که برای دسترسی به project تنظیم شده است — به TestRail ۷.۳ یا نسخههای بعدی نیاز دارد |
| groups | array | آرایهای از objectهای گروه. جدول Groups را در ادامه ببینید — به TestRail ۷.۳ یا نسخههای بعدی نیاز دارد |
| id | integer | ID یکتای project |
| is_completed | boolean | اگر project بهعنوان تکمیلشده علامتگذاری شده باشد true است؛ در غیر این صورت false است |
| name | string | نام project |
| show_announcement | boolean | برای نمایش اعلان/توضیح true است؛ در غیر این صورت false است |
| suite_mode | integer | حالت suite در project (۱ برای حالت single suite، ۲ برای single suite + baselines، و ۳ برای multiple suites) |
| url | string | آدرس/URL project در رابط کاربری |
| users | array | آرایهای از objectهای کاربر. جدول Users را در ادامه ببینید — به TestRail Enterprise ۷.۳ یا نسخههای بعدی نیاز دارد |
فیلدهای زیر برای GROUPS در پاسخ برگردانده میشوند:
| نام | نوع | توضیح |
|---|---|---|
| id | integer | ID گروه کاربری |
| role | string | نام نقشی که در این project به گروه اختصاص داده شده است |
| role_id | integer | ID نقشی که در این project به گروه اختصاص داده شده است |
فیلدهای زیر برای USERS در پاسخ برگردانده میشوند:
| نام | نوع | توضیح |
|---|---|---|
| id | integer | ID کاربر |
| global_role_id | integer | ID نقشی که به پروفایل سراسری کاربر اختصاص داده شده است |
| global_role | string | نام نقشی که به پروفایل سراسری کاربر اختصاص داده شده است |
| project_role_id | integer | ID نقشی که در این project به کاربر اختصاص داده شده است، در صورت وجود |
| project_role | string | نام نقشی که در این project به کاربر اختصاص داده شده است، در صورت وجود |
کدهای پاسخ #
| کد status | توضیح |
|---|---|
| 200 | موفقیت (project در پاسخ برگردانده میشود) |
| 400 | project نامعتبر یا ناشناخته است |
| 403 | به project دسترسی ندارید |
| 429 | فقط TestRail Cloud— درخواستهای بیش از حد (ببینید: API rate limit) |
get_projects #
فهرست projectهای موجود را برمیگرداند.
GET index.php?/api/v2/get_projects
فیلترهای درخواست #
فیلترهای زیر را میتوانید بهعنوان query parameter در URL درخواست استفاده کنید:
| نام | نوع | توضیح |
|---|---|---|
| is_completed | boolean | برای برگرداندن فقط projectهای تکمیلشده، مقدار ۱ را وارد کنید. برای برگرداندن فقط projectهای فعال، مقدار ۰ را وارد کنید |
| limit | integer | تعداد projectهایی که پاسخ باید برگرداند (اندازه پیشفرض پاسخ ۲۵۰ است) — به TestRail ۶.۷ یا نسخههای بعدی نیاز دارد |
| offset | integer | نقطه شروع شمارش projectها (offset) — به TestRail ۶.۷ یا نسخههای بعدی نیاز دارد |
# All active projects
GET index.php?/api/v2/get_projects&is_completed=0
محتوای پاسخ #
پاسخ شامل آرایهای از projectها است. هر project در این فهرست همان قالب get_project را دارد.
{
"offset": 0,
"limit": 250,
"size": 2,
"_links": {
"next": null,
"prev": null,
},
"projects": [
{ "id": 1, "name": "DataHub", .. },
{ "id": 2, "name": "Writer", .. }
]
}
کدهای پاسخ #
| کد status | توضیح |
|---|---|
| 200 | موفقیت (projectها در پاسخ برگردانده میشوند. توجه: فقط projectهایی برگردانده میشوند که دستکم دسترسی read به آنها دارید.) |
| 429 | فقط TestRail Cloud— درخواستهای بیش از حد (ببینید: API rate limit) |
add_project #
یک project جدید ایجاد میکند (به دسترسی admin نیاز دارد).
POST index.php?/api/v2/add_project
بدنه درخواست #
فیلدهای زیر را میتوانید در بدنه درخواست POST ارسال کنید:
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| name | string | true | نام project |
| announcement | string | false | توضیح/اعلان project |
| show_announcement | boolean | false | اگر اعلان باید در صفحه overview project نمایش داده شود true است؛ در غیر این صورت false است |
| suite_mode | integer | false | حالت suite در project (۱ برای حالت single suite، ۲ برای single suite + baselines، و ۳ برای multiple suites) |
نمونه درخواست #
برای نمونه، در ادامه میبینید چطور یک project جدید و خالی ایجاد کنید:
{
"name": "Project X",
"announcement": "Welcome to project X",
"show_announcement": true
}
محتوای پاسخ #
در صورت موفقیت، این متد project جدید را با همان قالب پاسخ get_project برمیگرداند.
کدهای پاسخ #
| کد status | توضیح |
|---|---|
| 200 | موفقیت (project ایجاد شده و در پاسخ برگردانده میشود) |
| 403 | مجوز افزودن projectها را ندارید (به دسترسی admin نیاز دارد) |
| 429 | فقط TestRail Cloud— درخواستهای بیش از حد (ببینید: API rate limit) |
update_project #
یک project موجود را بهروزرسانی میکند (به دسترسی admin نیاز دارد؛ بهروزرسانی جزئی پشتیبانی میشود، یعنی میتوانید فقط فیلدهای مشخصی را ارسال و بهروزرسانی کنید).
POST index.php?/api/v2/update_project/{project_id}
پارامترها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| project_id | integer | true | ID project |
بدنه درخواست #
فیلدهای زیر را میتوانید ارسال کنید:
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| name | string | true | نام project |
| announcement | string | false | توضیح/اعلان project |
| show_announcement | boolean | false | اگر اعلان باید در صفحه overview project نمایش داده شود true است؛ در غیر این صورت false است |
| suite_mode | integer | false | حالت suite در project (۱ برای حالت single suite، ۲ برای single suite + baselines، و ۳ برای multiple suites) |
نمونه درخواست #
برای نمونه، در ادامه میبینید چطور یک project را تکمیلشده علامتگذاری کنید:
{
"announcement": "Happy Holidays Everyone!"
}
محتوای پاسخ #
{
"name": "Project X",
"announcement": "Welcome to project X",
"show_announcement": true,
"default_role_id": 3,
"is_completed": false,
"users": [
{
"user_id": 4,
"role_id": null
}
]
"groups": []
}
فیلدهای زیر در پاسخ برگردانده میشوند:
| نام | نوع | توضیح |
|---|---|---|
| default_role_id | integer | ID نقش پیشفرضی که برای دسترسی به project تنظیم شده است — به TestRail ۷.۳ یا نسخههای بعدی نیاز دارد |
| groups | array | آرایهای از objectهای گروه. جدول Groups را در ادامه ببینید — به TestRail ۷.۳ یا نسخههای بعدی نیاز دارد |
| users | array | آرایهای از objectهای کاربر. جدول Users را در ادامه ببینید — به TestRail ۷.۳ یا نسخههای بعدی نیاز دارد |
فیلدهای زیر برای GROUPS در پاسخ برگردانده میشوند:
| نام | نوع | توضیح |
|---|---|---|
| id | integer | ID گروه کاربری |
| role_id | integer | ID نقشی که در این project به گروه اختصاص داده شده است. برای تغییر این انتساب به «Global Role»، مقدار ۰ را ارسال کنید. برای پاک کردن نقش اختصاصی project، null را ارسال کنید. |
فیلدهای زیر برای USERS در پاسخ برگردانده میشوند:
| نام | نوع | توضیح |
|---|---|---|
| id | integer | ID کاربر |
| role_id | integer | ID نقشی که در این project به کاربر اختصاص داده شده است. برای تغییر این انتساب به «Global Role»، مقدار ۰ را ارسال کنید. برای پاک کردن انتساب نقش اختصاصی project، null را ارسال کنید |
کدهای پاسخ #
| کد status | توضیح |
|---|---|
| 200 | موفقیت (project بهروزرسانی شده و در پاسخ برگردانده میشود) |
| 400 | project نامعتبر یا ناشناخته است |
| 403 | مجوز ویرایش projectها را ندارید (به دسترسی admin نیاز دارد) |
| 429 | فقط TestRail Cloud— درخواستهای بیش از حد (ببینید: API rate limit) |
POST index.php?/api/v2/delete_project/{project_id}
پارامترها #
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| project_id | integer | true | ID project |
کدهای پاسخ #
| کد status | توضیح |
|---|---|
| 200 | موفقیت (project حذف شد) |
| 400 | project نامعتبر یا ناشناخته است |
| 403 |
مجوز حذف projectها را ندارید (به دسترسی admin نیاز دارد) |
| 429 | فقط TestRail Cloud— درخواستهای بیش از حد (ببینید: API rate limit) |

