docs(api): вехи, связи issue, CI-эндпоинты, нюансы ключей ответов

Refs #2

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-12 18:36:22 +03:00
co-authored by Claude Opus 5.5
parent 018e3d26c4
commit 0244da0b0e
+22 -3
View File
@@ -18,7 +18,8 @@ J="Content-Type: application/json"
- Соединение с `api.sourcecraft.tech` иногда рвётся (`curl: (35)`, пустой ответ) — отсюда `--retry`. Перед повторным POST проверить, не создалась ли сущность.
- `color` у метки — hex **без** `#` (`"ff7f0e"`), иначе `400 ValidationError`.
- Ответы-списки кладут элементы в разные ключи: `/issues` → `issues`, `/labels` репо → `items`, метки issue → `labels`.
- Ответы-списки кладут элементы в разные ключи: `/issues` → `issues`, `/labels` и `/milestones` → `items`, `/pulls` → `pull_requests`, метки issue → `labels`, связи → `links`.
- Веха в issue задаётся `milestone_id` (UUID); `milestone_slug` отвергается с `400 must be a valid ID`.
- Issue адресуется номером (`issues/1`), метка — slug'ом (`size/0.5` → `size-0-5`).
- Тело issue — поле `description` (не `body`); тело комментария — `body`.
- Длинный markdown удобнее собрать в JSON-файл и передать `--data @file.json`.
@@ -43,10 +44,28 @@ curl -s -X POST -H "$H" -H "$J" "$R/issues/1/comments" -d '{"body":"текст"}
# метки issue: POST — добавить, PUT — заменить, DELETE — убрать
curl -s -X POST -H "$H" -H "$J" "$R/issues/1/labels" -d '{"slugs":["ci"]}'
# связь между issue
curl -s -X POST -H "$H" -H "$J" "$R/issues/2/issue_links" --data @link.json
# связь между issue (related_to | parent_of | subissue_of | blocks | blocked_by | duplicates | duplicated_by)
curl -s -X POST -H "$H" -H "$J" "$R/issues/9/issue_links" -d '{"target_issue_slug":"8","link_type":"blocked_by"}'
```
## Вехи
```bash
curl -s -H "$H" "$R/milestones"
curl -s -X POST -H "$H" -H "$J" "$R/milestones" -d '{"name":"M5 · …","description":"…"}' # → id для milestone_id
```
## CI/CD
```bash
curl -s -H "$H" "$R/cicd/runs" # прогоны
curl -s -H "$H" "$R/cicd/runs/<run>" # статус прогона
curl -s -H "$H" "$R/cicd/logs/<run>/<workflow>/<task>/<cube>" # лог куба
curl -s -X PUT -H "$H" -H "$J" "$R/secrets/DEPLOY_HOST" --data @secret.json
```
Исходящих webhooks нет — статус CI получаем опросом (ADR-003).
## Метки репозитория
```bash