Andrey Epifancev c00b0bd4b2 Спека sp-estimation-board: оценка через доску (#113)
ensure_fields со story_points получает board_id доски проекта задачи; агент v16 пишет
оценку через /rest/agile/1.0/issue/{key}/estimation — поле не на экране редактирования.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:07:56 +04:00

34 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Why
25.10.2026 первый пакет оценок (64 команды `ensure_fields` со `story_points` из сессии awp-ca) остановился на первой же
команде: Jira банка отвечает на `PUT /rest/api/2/issue/{key}` «Field cannot be set. It is not on the appropriate screen,
or unknown». Поле оценки `customfield_15852` («Story point estimate») верное, но его нет на экране редактирования:
в Jira оценку можно поставить только из бэклога Scrum. Владелец проверил в браузере: в Jira банка есть
`GET /rest/agile/1.0/issue/AURORA-1704/estimation?boardId=4216` → `{"fieldId":"customfield_15852","value":1.0}`, а у доски
4216 в настройках `estimation.field.fieldId = customfield_15852`. Этот же ресурс принимает `PUT` и пишет оценку в поле
доски без проверки экрана.
## What Changes
- **Команды:** `ensure_fields` со `story_points` получает `board_id` доски проекта задачи — хаб дописывает при
постановке по тем же правилам, что у `ensure_sprint` (422: задача вне проектов, разные доски, нет доски, канбан, тип
не известен); от клиента `board_id` — 422; `command_retry` снимает `board_id` и определяет доску заново.
- **Агент v16** (design-only change `agent-v16-sp-estimation` в jira-agent, issue jira-agent#53): оценка из
`ensure_fields` с `board_id` — через `GET`/`PUT /rest/agile/1.0/issue/{key}/estimation?boardId=…`; остальные поля —
как раньше; без `board_id` — как v15.
- **MCP:** описание `batch_create` сообщает, что `board_id` у `ensure_fields` со `story_points` хаб дописывает сам.
## Non-Goals
- Оценки на канбан-досках: команда отклоняется при постановке (решение владельца 25.10.2026; канбан-проектов с оценками пока нет).
- Чтение оценки в `refresh` через доску: поле `field_ids.story_points = customfield_15852` верное, чтение не меняется.
- Схема зеркала, API чтения, веб — не меняются.
## Impact
- `src/sdlc_hub/modules/jira/hooks.py` (`_assign_boards`, `retry_params`), `src/sdlc_hub/modules/jira/mcp.py` (описание
`batch_create`), тесты `tests/test_api.py`, `tests/test_commands.py`/`tests/test_mcp.py`.
- Агент: `jira-agent/src/agent.py` (`do_ensure_fields`, `AGENT_VERSION = 16`).
- Выкатка: хаб (pull, kickstart, `/mcp` reconnect) → `agent publish` v16 → живая проверка оценки одной задачи →
`min_agent_version = 16` → пакет оценок заново.