Scrum: эпики и размещение задач

Управление скрамом в проектах Битрикс24: создание и переименование эпиков, привязка задач к эпикам, размещение в бэклоге, story points. Работает поверх обычных Задач — сначала задача создаётся через POST /v1/tasks, затем размещается в скраме.

Скоуп: task | Базовый URL: https://vibecode.bitrix24.tech/v1 | Авторизация: X-Api-Key

Разделы документации

Быстрый старт

1. Создать эпик

Terminal
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. Привязка автоматически помещает её в бэклог проекта:

Terminal
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 }'

Полный пример: зеркалирование внешнего трекера

Создать эпик, завести задачу в скрам-проекте, привязать её к эпику и проверить размещение. Бэклог определяется автоматически.

javascript
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 tasks.api.scrum.epic.add Создать эпик
GET /v1/scrum/epics tasks.api.scrum.epic.list Список эпиков
GET /v1/scrum/epics/:id tasks.api.scrum.epic.get Получить эпик
PATCH /v1/scrum/epics/:id tasks.api.scrum.epic.update Переименовать / изменить эпик
GET /v1/scrum/tasks/:taskId tasks.api.scrum.task.get Получить размещение задачи в скраме
PATCH /v1/scrum/tasks/:taskId tasks.api.scrum.task.update Разместить / переместить задачу

Коды ошибок

HTTP Код Причина
400 INVALID_PARAMS Нарушена валидация полей запроса
400 TASK_NOT_IN_GROUP Задача без рабочей группы — авторазмещение в бэклог невозможно
403 SCOPE_DENIED У ключа нет скоупа task
422 BACKLOG_NOT_RESOLVED Группа задачи — не скрам-проект, бэклог не найден
422 BITRIX_ERROR Задача не найдена или не размещена в скраме, прочие ошибки Битрикс24

Полный список общих ошибок API — Ошибки.

Смотрите также