#P1764
RESOURCE /v2/scrumboard/sprints
Sprint Hydration Logic
اسپرینتها ظروف نگهداری کارتها در بازههای زمانی مشخص هستند. منطق Hydration در اینجا بسیار سنگین است زیرا با دریافت اسپرینت، سیستم به صورت خودکار تمام کارتهای داخل آن را واکشی کرده و فرآیند "Card Deep Hydration" را برای تک تک آنها اجرا میکند.
Fetch `scrumboard_sprint_reports`
+ Hydrate Operator for each report
Decode `cards` JSON (Array of IDs)
Loop through Cards & Apply Card Deep Hydration:
(Members, Labels, Comments, Checklists, Attachments)
Get Sprints List
دریافت لیست اسپرینتهای یک بورد. هر آیتم در لیست شامل آرایهای کامل از کارتهای داخل آن اسپرینت است.
/v2/scrumboard/sprintsParameters
| Parameter | Type | Location | Description |
|---|---|---|---|
| board_id | Integer | Query | (الزامی) شناسه بورد مربوطه. |
| status | Integer | Query | (اختیاری) فیلتر بر اساس وضعیت اسپرینت. |
Response Structure
{
"items": [
{
"id": 10,
"board_id": 1,
"title": "Sprint #4 - Login Refactor",
"goal": "Improve security",
"duration": "2 weeks",
"status": 1,
"created_at": "...",
// گزارشهای اسپرینت
"reports": [
{ "id": 1, "note": "Daily meeting...", "operator": { ... } }
],
// کارتهای داخل اسپرینت (کاملاً Hydrate شده)
"cards": [
{
"id": 101,
"title": "Login API",
"members": [...],
"labels": [...],
"comments": [...],
"checklists": [...],
"attachments": [...]
}
]
}
],
"meta": { "timestamp": 1733754000 }
}
Create Sprint
ایجاد یک اسپرینت جدید. میتوان در لحظه ایجاد، لیست کارتهای مرتبط را نیز تعیین کرد.
/v2/scrumboard/sprintsBody Parameters
| Parameter | Type | Description |
|---|---|---|
| board_id | Integer | (الزامی) شناسه بورد والد. |
| title | String | (الزامی) عنوان اسپرینت. |
| duration | String | (الزامی) مدت زمان (مثلاً "2 weeks"). |
| goal | String | (اختیاری) هدف اسپرینت. |
| description | String | (اختیاری) توضیحات تکمیلی. |
| color | String | (اختیاری) کد رنگ برای نمایش در UI. |
| cards | Array[Int] | (اختیاری) آرایهای از شناسه کارتها جهت اتصال به این اسپرینت. مثال: [101, 102] |
Success Response
{
"payload": {
"id": 11,
"title": "New Sprint",
"cards": [], // یا شامل آبجکتهای کارت اگر در ورودی ارسال شده باشد
"reports": [],
...
},
"meta": { "timestamp": 1733754000 }
}
Show Sprint Details
مشاهده جزئیات یک اسپرینت خاص به همراه تمامی وابستگیها (کارتها و گزارشها).
/v2/scrumboard/sprints/{id}Update Sprint
بهروزرسانی اطلاعات اسپرینت. مهم: اگر پارامتر cards ارسال شود، لیست کارتهای اسپرینت با لیست جدید جایگزین میشود (Sync).
/v2/scrumboard/sprints/{id}Body Parameters
| Parameter | Type | Description |
|---|---|---|
| title | String | عنوان اسپرینت. |
| status | Integer | وضعیت (مثلاً 1: فعال، 0: آرشیو). |
| cards | Array[Int] | لیست جدید شناسه کارتها. مثال: [101, 105, 109] |
| ... | ... | سایر فیلدهای مشابه متد Create (goal, color, duration, etc). |
Success Response
{
"payload": {
"id": 11,
"title": "Updated Title",
"cards": [ ... ], // لیست جدید کارتها با جزئیات کامل
...
},
"meta": { "timestamp": 1733754000 }
}
Delete Sprint
حذف اسپرینت از دیتابیس. این عملیات کارتها را حذف نمیکند، بلکه فقط ارتباط اسپرینت را از بین میبرد (مگر اینکه در دیتابیس تنظیمات دیگری اعمال شده باشد).
/v2/scrumboard/sprints/{id}Response
{
"payload": 1, // تعداد رکوردهای حذف شده
"meta": { "timestamp": 1733754000 }
}