Taiga integration
This commit is contained in:
@@ -87,6 +87,70 @@ Vite dev-server: http://localhost:5173 (проксирует `/api` на backend
|
||||
| POST | `/api/v1/pomodoro/resume` | Продолжить |
|
||||
| POST | `/api/v1/pomodoro/stop` | Стоп `{result, completed}` |
|
||||
| GET | `/api/v1/pomodoro/history` | История сессий |
|
||||
| GET | `/api/v1/projects` | Проекты Taiga + привязка Gitea |
|
||||
| POST | `/api/v1/projects/sync-taiga` | Синхронизировать проекты из Taiga |
|
||||
| PUT | `/api/v1/projects/{slug}/gitea` | Привязать Gitea repo |
|
||||
| POST | `/api/v1/work-items` | Создать фичу/баг → Taiga + Gitea |
|
||||
| GET | `/api/v1/work-items` | Список work items |
|
||||
| POST | `/api/v1/webhooks/gitea` | Webhook для автозакрытия по push |
|
||||
|
||||
## Taiga + Gitea (фаза 2)
|
||||
|
||||
Taiga и Gitea работают **на хосте** (не в Docker):
|
||||
- Taiga: `127.0.0.1:9000` → `taiga.grigowashere.ru`
|
||||
- Gitea: `127.0.0.1:3000` → `git.grigowashere.ru`
|
||||
|
||||
Контейнер backend достучится через `host.docker.internal` (настроено в `docker-compose.yml`).
|
||||
|
||||
### Настройка `.env`
|
||||
|
||||
```env
|
||||
TAIGA_BASE_URL=http://host.docker.internal:9000
|
||||
TAIGA_USERNAME=...
|
||||
TAIGA_PASSWORD=...
|
||||
TAIGA_PUBLIC_URL=https://taiga.grigowashere.ru
|
||||
|
||||
GITEA_BASE_URL=http://host.docker.internal:3000
|
||||
GITEA_TOKEN=... # Settings → Applications → Generate Token
|
||||
GITEA_PUBLIC_URL=https://git.grigowashere.ru
|
||||
GITEA_WEBHOOK_SECRET=... # произвольная строка
|
||||
```
|
||||
|
||||
### Первый запуск
|
||||
|
||||
```bash
|
||||
# 1. Синхронизировать проекты Taiga (ID подтянутся автоматически)
|
||||
curl -X POST http://localhost:8080/api/v1/projects/sync-taiga
|
||||
|
||||
# 2. Привязать Gitea repo к проекту Taiga
|
||||
curl -X PUT http://localhost:8080/api/v1/projects/home-assistant/gitea \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"gitea_owner":"Grigo","gitea_repo":"Home_assistant","default_branch":"main"}'
|
||||
```
|
||||
|
||||
### Gitea webhook
|
||||
|
||||
В репозитории: **Settings → Webhooks → Add Webhook**:
|
||||
|
||||
- URL: `http://127.0.0.1:8080/api/v1/webhooks/gitea`
|
||||
- Content type: `application/json`
|
||||
- Secret: значение `GITEA_WEBHOOK_SECRET`
|
||||
- Events: **Push**
|
||||
|
||||
### Автозакрытие по коммиту
|
||||
|
||||
В сообщении коммита:
|
||||
|
||||
```
|
||||
fix: кнопка сохранения
|
||||
Closes gitea #12, taiga #45
|
||||
```
|
||||
|
||||
Закроются Gitea issue #12 и Taiga story #45 (если только один ref — второй найдётся по связи в БД).
|
||||
|
||||
### Чат
|
||||
|
||||
«Заведи баг: кнопка не сохраняет настройки» → `create_work_item` → Taiga story + Gitea issue + ветка `feature/45-...`.
|
||||
|
||||
## Структура проекта
|
||||
|
||||
@@ -98,7 +162,6 @@ data/ SQLite БД (создаётся автоматически)
|
||||
|
||||
## Следующие фазы
|
||||
|
||||
- Интеграция Taiga + Gitea (project-agent внутри проекта)
|
||||
- RAG с Qdrant для документов
|
||||
- Проактивные чаты по расписанию
|
||||
- Фитнес-трекер
|
||||
|
||||
Reference in New Issue
Block a user