KabaForge
🌍 Türkçe · English · Deutsch · Français · Русский

16 — Работа с API

Почти всё, что можно сделать в интерфейсе, доступно и по HTTP: резервные копии, отчёты, собственные инструменты.

Аутентификация

Создайте токен доступа (глава 10) и передавайте его заголовком в каждом запросе:

TOKEN=ваш-токен
curl -H "Authorization: token $TOKEN" \
  https://forge.kabaforce.com/api/v1/user

Токен ограничен правами, выбранными при создании: для задачи «только чтение» не выдавайте право записи.

Часто используемые точки

Базовый адрес: https://forge.kabaforce.com/api/v1

ТочкаЧто возвращает
/userУчётную запись — владельца токена
/user/repos?limit=50Доступные репозитории
/repos/search?q=словоПоиск репозиториев
/repos/{owner}/{repo}Карточку репозитория
/repos/{owner}/{repo}/contents/{путь}Содержимое файла или каталога
/repos/{owner}/{repo}/branchesВетки
/repos/{owner}/{repo}/commits?limit=10Последние коммиты
/repos/{owner}/{repo}/issues?state=openОткрытые задачи
/repos/{owner}/{repo}/releases · /tagsВыпуски и теги

Списки постраничные: ?page=2&limit=50.

Чтение файла

curl -H "Authorization: token $TOKEN" \
  "https://forge.kabaforce.com/api/v1/repos/owner/project/contents/docs"

Поле content приходит в base64; проще запросить сырой файл:

curl -H "Authorization: token $TOKEN" \
  https://forge.kabaforce.com/owner/project/raw/branch/main/readme.md

Создание и обновление файлов

curl -X POST -H "Authorization: token $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":"aGVsbG8=","message":"добавить заметку","branch":"main"}' \
  https://forge.kabaforce.com/api/v1/repos/owner/project/contents/notes.md

content — base64. Для обновления существующего файла используйте PUT и передайте текущий sha файла — именно это не даёт молча затереть чужие правки.

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

curl -X POST -H "Authorization: token $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title":"страница входа съезжает на телефоне","body":"Шаги: ..."}' \
  https://forge.kabaforce.com/api/v1/repos/owner/project/issues

Коды ошибок

КодЗначение
401Токена нет, он неверен или истёк
403Токен верный, но прав на это действие нет
404Неверный путь — либо приватный репозиторий без доступа
409Конфликт: при обновлении отправлен устаревший sha
422Некорректное тело (например, задача без заголовка)

Правила

⬅ Назад: 15 — Горячие клавиши и приёмы с адресами📚 Все главыДалее: 17 — Продвинутый Markdown ➡