Для AI-агентов: markdown этой страницы — /docs-content/scrum.md индекс документации — /llms.txt
Scrum: эпики, спринты, размещение задач и этапы канбана
Управление скрамом в проектах Битрикс24: чтение списка и текущего спринта, создание и переименование эпиков, привязка задач к эпикам, размещение в бэклоге, story points, колонки доски спринта. Работает поверх обычных Задач — сначала задача создаётся через POST /v1/tasks, затем размещается в скраме.
Скоуп: task | Базовый URL: https://vibecode.bitrix24.tech/v1 | Авторизация: X-Api-Key
Разделы документации
- Бэклоги скрама — создание, обновление и удаление бэклогов
- Эпики скрама — создание, чтение, переименование и перекраска эпиков
- Размещение задач в скраме — чтение и изменение скрам-строки задачи: бэклог или спринт, эпик, story points
- Спринты — список, текущий спринт, чтение по ID, создание, изменение, завершение и удаление
- Этапы Scrum-канбана — колонки доски спринта
- Definition of Done — настройки и сохранение списков DoD
- Метрики спринта — данные Битрикс24 для графика и скорости команды
Быстрый старт
1. Создать эпик
curl -X POST "https://vibecode.bitrix24.tech/v1/scrum/epics" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Папки в чатах", "groupId": 7 }'
2. Привязать задачу к эпику
Задача уже создана через POST /v1/tasks и находится в скрам-проекте groupId. Привязка автоматически помещает её в бэклог проекта:
curl -X PATCH "https://vibecode.bitrix24.tech/v1/scrum/tasks/59" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "epicId": 87 }'
Полный пример: зеркалирование внешнего трекера
Создать эпик, завести задачу в скрам-проекте, привязать её к эпику и проверить размещение. Бэклог определяется автоматически.
const VIBE_KEY = process.env.VIBE_KEY
const BASE = 'https://vibecode.bitrix24.tech/v1'
const GROUP_ID = 7 // скрам-проект, список: GET /v1/workgroups
// ── 1. Создать эпик ─────────────────────────────────────────────
const epicRes = await fetch(`${BASE}/scrum/epics`, {
method: 'POST',
headers: { 'X-Api-Key': VIBE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ name: 'Папки в чатах', groupId: GROUP_ID })
})
const { data: epic } = await epicRes.json()
console.log(`Эпик создан, ID: ${epic.id}`)
// ── 2. Создать задачу в том же скрам-проекте ────────────────────
const taskRes = await fetch(`${BASE}/tasks`, {
method: 'POST',
headers: { 'X-Api-Key': VIBE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ title: 'Сверстать список папок', groupId: GROUP_ID, responsibleId: 1 })
})
const { data: task } = await taskRes.json()
console.log(`Задача создана, ID: ${task.id}`)
// ── 3. Привязать задачу к эпику ─────────────────────────────────
// entityId опущен → задача автоматически попадает в бэклог проекта
await fetch(`${BASE}/scrum/tasks/${task.id}`, {
method: 'PATCH',
headers: { 'X-Api-Key': VIBE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ epicId: epic.id, storyPoints: '3' })
})
// ── 4. Проверить фактическое размещение ─────────────────────────
const placeRes = await fetch(`${BASE}/scrum/tasks/${task.id}`, {
headers: { 'X-Api-Key': VIBE_KEY }
})
const { data: placement } = await placeRes.json()
console.log('Размещение:', placement)
Справочник эндпоинтов
| Метод | Путь | Bitrix24 метод | Описание |
|---|---|---|---|
| МетодPOST | Путь/v1/scrum/epics |
Bitrix24 методtasks.api.scrum.epic.add | ОписаниеСоздать эпик |
| МетодGET | Путь/v1/scrum/epics |
Bitrix24 методtasks.api.scrum.epic.list | ОписаниеСписок эпиков |
| МетодGET | Путь/v1/scrum/epics/:id |
Bitrix24 методtasks.api.scrum.epic.get | ОписаниеПолучить эпик |
| МетодPATCH | Путь/v1/scrum/epics/:id |
Bitrix24 методtasks.api.scrum.epic.update | ОписаниеПереименовать / изменить эпик |
| МетодGET | Путь/v1/scrum/tasks/:taskId |
Bitrix24 методtasks.api.scrum.task.get | ОписаниеПолучить размещение задачи в скраме |
| МетодPATCH | Путь/v1/scrum/tasks/:taskId |
Bitrix24 методtasks.api.scrum.task.update | ОписаниеРазместить / переместить задачу |
| МетодGET | Путь/v1/scrum/sprints |
Bitrix24 методtasks.api.scrum.sprint.list | ОписаниеСпринты скрам-проекта |
| МетодGET | Путь/v1/scrum/sprints/active |
Bitrix24 методtasks.api.scrum.sprint.list | ОписаниеАктивный спринт проекта |
| МетодGET | Путь/v1/scrum/sprints/:id |
Bitrix24 методtasks.api.scrum.sprint.get | ОписаниеПолучить спринт по ID |
| МетодGET | Путь/v1/scrum/sprints/:sprintId/stages |
Bitrix24 методtasks.api.scrum.kanban.getStages | ОписаниеКолонки доски спринта |
| МетодPOST | Путь/v1/scrum/sprints/:sprintId/stages |
Bitrix24 методtasks.api.scrum.kanban.addStage | ОписаниеСоздать колонку |
| МетодPATCH | Путь/v1/scrum/stages/:stageId |
Bitrix24 методtasks.api.scrum.kanban.updateStage | ОписаниеИзменить колонку |
| МетодGET | Путь/v1/scrum/groups/:groupId/dod/settings |
Bitrix24 методtasks.scrum.DoD.getSettings | ОписаниеНастройки DoD |
| МетодGET | Путь/v1/scrum/groups/:groupId/tasks/:taskId/dod/necessary |
Bitrix24 методtasks.scrum.DoD.isNecessary | ОписаниеНужен ли DoD |
| МетодPOST | Путь/v1/scrum/groups/:groupId/dod/types/:typeId/settings |
Bitrix24 методtasks.scrum.DoD.saveSettings | ОписаниеСохранить настройки DoD |
| МетодPOST | Путь/v1/scrum/tasks/:taskId/dod/:typeId |
Bitrix24 методtasks.scrum.DoD.saveList | ОписаниеСохранить список DoD задачи |
| МетодGET | Путь/v1/scrum/groups/:groupId/burn-down |
Bitrix24 методtasks.scrum.Sprint.getBurnDownInfo | ОписаниеДанные burn-down |
| МетодGET | Путь/v1/scrum/groups/:groupId/team-speed |
Bitrix24 методtasks.scrum.Sprint.getTeamSpeedInfo | ОписаниеНаличие завершённого спринта |
| МетодPOST | Путь/v1/scrum/backlogs |
Bitrix24 методtasks.api.scrum.backlog.add | ОписаниеСоздать бэклог |
| МетодPATCH | Путь/v1/scrum/backlogs/:id |
Bitrix24 методtasks.api.scrum.backlog.update | ОписаниеОбновить бэклог |
| МетодDELETE | Путь/v1/scrum/backlogs/:id |
Bitrix24 методtasks.api.scrum.backlog.delete | ОписаниеУдалить бэклог |
| МетодDELETE | Путь/v1/scrum/epics/:id |
Bitrix24 методtasks.api.scrum.epic.delete | ОписаниеУдалить эпик |
| МетодPOST | Путь/v1/scrum/sprints |
Bitrix24 методtasks.api.scrum.sprint.add | ОписаниеСоздать спринт |
| МетодPATCH | Путь/v1/scrum/sprints/:id |
Bitrix24 методtasks.api.scrum.sprint.update | ОписаниеОбновить спринт |
| МетодDELETE | Путь/v1/scrum/sprints/:id |
Bitrix24 методtasks.api.scrum.sprint.delete | ОписаниеУдалить спринт |
| МетодPOST | Путь/v1/scrum/sprints/:id/start |
Bitrix24 методtasks.api.scrum.sprint.start | ОписаниеНачать спринт |
| МетодPOST | Путь/v1/scrum/groups/:groupId/sprints/active/complete |
Bitrix24 методtasks.api.scrum.sprint.complete | ОписаниеЗавершить активный спринт группы |
| МетодDELETE | Путь/v1/scrum/stages/:stageId |
Bitrix24 методtasks.api.scrum.kanban.deleteStage | ОписаниеУдалить этап |
| МетодPOST | Путь/v1/scrum/sprints/:sprintId/kanban/tasks/:taskId |
Bitrix24 методtasks.api.scrum.kanban.addTask | ОписаниеДобавить задачу на доску |
| МетодDELETE | Путь/v1/scrum/sprints/:sprintId/kanban/tasks/:taskId |
Bitrix24 методtasks.api.scrum.kanban.deleteTask | ОписаниеУдалить задачу с доски |
Коды ошибок
| HTTP | Код | Причина |
|---|---|---|
| HTTP400 | КодINVALID_PARAMS |
ПричинаНарушена валидация полей запроса |
| HTTP400 | КодTASK_NOT_IN_GROUP |
ПричинаЗадача без рабочей группы — авторазмещение в бэклог невозможно |
| HTTP403 | КодSCOPE_DENIED |
ПричинаУ ключа нет скоупа task |
| HTTP422 | КодBACKLOG_NOT_RESOLVED |
ПричинаГруппа задачи — не скрам-проект, бэклог не найден |
| HTTP404 | КодSTAGE_NOT_FOUND_OR_NO_ACCESS |
ПричинаЭтап канбана не существует либо он в недоступном скрам-проекте |
| HTTP404 | КодENTITY_NOT_FOUND |
ПричинаЗадача, эпик или спринт не найдены, задача не размещена в скраме |
| HTTP422 | КодBITRIX_ERROR |
ПричинаПрочие ошибки Битрикс24 |
Полный список общих ошибок API — Ошибки.