3.9 KiB
agent-v16-sp-estimation — решения агента
Спека и дизайн изменения — в sdlc-hub/openspec/changes/sp-estimation-board/ (issue aep/sdlc-hub#113, aep/jira-agent#53).
Агентская часть: требование agent «Спринты, ранг и оценки» (MODIFIED: оценка через доску) и строка ensure_fields
в commands «Команда — желаемый результат на одной задаче» (MODIFIED: board_id при story_points, чтение и запись
оценки через /rest/agile/1.0/issue/{key}/estimation). Версия агента — 16.
Причина
Jira банка 25.10.2026 отклонила PUT /rest/api/2/issue/{key} с customfield_15852: «Field cannot be set. It is not on
the appropriate screen, or unknown». Поле оценки не на экране редактирования; бэклог Scrum ставит его через доску.
Владелец проверил в браузере: GET /rest/agile/1.0/issue/AURORA-1704/estimation?boardId=4216 →
{"fieldId":"customfield_15852","value":1.0}.
Решения агента
ensure_fieldsсstory_pointsиboard_id:GET AGILE/issue/{key}/estimation?boardId=<board_id>, сравнение_same_points(value, want); отличается —PUTтуда же{"value": want}(null— очистить).field_ids.story_pointsиGET /fieldдля этого не нужны.- Остальные поля — как v15,
PUT /issueтолько с ними;GET /issue— только если в команде есть поля, кроме оценки (key,board_id,story_pointsне считаются). - Порядок: сначала
PUT /issueс остальными полями, затем оценка. Ошибка оценки — исключение HTTP наружу, как у прочих вызовов Jira (командаfailedс текстом Jira). - Без
board_id— оценка черезPUT /issueв полеfield_ids.story_points/найденное по имени, как v15. - Проверка значения (
число ≥ 0 или null) — до любых вызовов Jira, как v15.
Decisions made without discussion
| Дата | Решение | Обоснование | Цена ошибки |
|---|---|---|---|
| 25.10.2026 | R-1: без board_id — путь v15 |
совместимость с хабом до #113 | нет |
| 25.10.2026 | R-2: сначала остальные поля, затем оценка | новый путь не должен ломать остальные поля | частичная запись, повтор безопасен |
| 25.10.2026 | R-3: без GET /issue, если в команде только оценка |
минус вызов Jira на команду в пакете оценок | нет |
| 25.10.2026 | R-5: value — число как есть |
Jira отдаёт число; живая проверка до пакета | одна правка агента |
| 25.10.2026 | I-1 (финальное ревью): между PUT /issue и PUT …/estimation одной команды — зазор ensure_fields |
политика темпа: зазор между записями внутри команды | пакет «оценка + поля» идёт медленнее |
| 25.10.2026 | I-2 (финальное ревью): fieldId оценки доски сверяется с field_ids.story_points (если задан), расхождение — failed без записи |
иначе число уйдёт в чужое поле доски другого проекта | лишний отказ, если поле настроено неверно — правится настройкой |