release: dev → main #54

Merged
Eleboba merged 62 commits from dev into main 2026-10-22 17:50:43 +03:00
Showing only changes of commit 0244da0b0e - Show all commits
+22 -3
View File
@@ -18,7 +18,8 @@ J="Content-Type: application/json"
- Соединение с `api.sourcecraft.tech` иногда рвётся (`curl: (35)`, пустой ответ) — отсюда `--retry`. Перед повторным POST проверить, не создалась ли сущность. - Соединение с `api.sourcecraft.tech` иногда рвётся (`curl: (35)`, пустой ответ) — отсюда `--retry`. Перед повторным POST проверить, не создалась ли сущность.
- `color` у метки — hex **без** `#` (`"ff7f0e"`), иначе `400 ValidationError`. - `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 адресуется номером (`issues/1`), метка — slug'ом (`size/0.5` → `size-0-5`).
- Тело issue — поле `description` (не `body`); тело комментария — `body`. - Тело issue — поле `description` (не `body`); тело комментария — `body`.
- Длинный markdown удобнее собрать в JSON-файл и передать `--data @file.json`. - Длинный 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 — убрать # метки issue: POST — добавить, PUT — заменить, DELETE — убрать
curl -s -X POST -H "$H" -H "$J" "$R/issues/1/labels" -d '{"slugs":["ci"]}' curl -s -X POST -H "$H" -H "$J" "$R/issues/1/labels" -d '{"slugs":["ci"]}'
# связь между issue # связь между issue (related_to | parent_of | subissue_of | blocks | blocked_by | duplicates | duplicated_by)
curl -s -X POST -H "$H" -H "$J" "$R/issues/2/issue_links" --data @link.json 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 ```bash