← CANBAN / AGC

API проекта

Один проект, постоянная история и простой JSON API. Все операции с данными требуют сессию или Bearer-ключ.

Авторизация

Ключ Codex хранится на сервере в закрытом файле Kanban/runtime/api.key. Используйте его только из серверных инструментов. Для браузера предусмотрен вход по логину и паролю.

Authorization: Bearer <ключ>
Content-Type: application/json

Маршруты

МетодМаршрутРезультат
GET/api/boardДоска, этапы, прогресс, состояние синхронизации
GET/api/tasksЗадачи; фильтры status, scope, archived
POST/api/tasksСоздать ручную задачу
GET/api/tasks/{id}Текущая карточка и revision
PATCH/api/tasks/{id}Изменить задачу с проверкой revision
DELETE/api/tasks/{id}?revision=NАрхивировать ручную задачу, сохранив историю
POST/api/tasks/{id}/commentsДобавить комментарий
GET/api/requirements?step=05Требования и сценарии проверки
GET/api/events?after=100Новые изменения; task_id, before, limit для пагинации
POST/api/syncНемедленно обновить реестр AGC
GET/api/exportСкачать JSON задач, истории и реестра
GET/api/openapi.jsonМашинный контракт OpenAPI

Создание задачи

POST /api/tasks
{
  "title": "Проверить выдачу PDF после отзыва доступа",
  "description": "Прямой запрос к файлу должен быть отклонён.",
  "step_id": "05",
  "priority": "high",
  "status": "planned"
}

Статусы доски

Значение APIКолонкаСмысл
plannedЗапланированоРабота ожидает начала
in_progressВ работеРабота выполняется
reviewСделаноРабота готова к проверке
doneПринятоПроверка и приёмка завершены
blockedОшибкиОбнаружена проблема, требуется исправление

Порядок и названия колонок доступны в поле statuses ответа /api/board. Отложенные задачи имеют область scope=deferred и статус planned. Прежнее входное значение статуса deferred преобразуется в planned.

Редактирование и конфликты

Сначала прочитайте карточку, затем передайте её revision. При конкурентном изменении сервер вернёт 409: прочитайте новую версию и повторите правку осознанно.

PATCH /api/tasks/TASK-…
{ "revision": 1, "status": "in_progress", "assignee": "Codex" }

Связь с AGC

Карточки AGC-01…AGC-11 синхронизируются из реестра каждые 20 секунд. Этапы 01–09 относятся к основному MVP, 10 — к внешним интеграциям, 11 — к отложенной мобильной фазе. У импортированных этапов можно менять исполнителя, срок и приоритет. Их статус меняется вместе с планом AGC.

Реализованные и подтверждённые требования отображаются отдельно. Завершение этапа не заменяет приёмку отложенных частей ТЗ.

Инструмент для Codex

.venv/bin/python ops/client.py board
.venv/bin/python ops/client.py create --title "Проверить PDF" --step 05
.venv/bin/python ops/client.py update TASK-… --status in_progress
.venv/bin/python ops/client.py comment AGC-05 --text "Проверки выполнены"
.venv/bin/python ops/client.py events --after 100

Клиент автоматически читает локальный ключ. Ключ не передаётся в аргументах команд и не выводится в журнал.