ensure_fields со story_points получает board_id доски проекта задачи; агент v16 пишет
оценку через /rest/agile/1.0/issue/{key}/estimation — поле не на экране редактирования.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
34 lines
3.0 KiB
Markdown
34 lines
3.0 KiB
Markdown
## 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` → пакет оценок заново.
|