Andrey Epifancev 3dbca034ad Design-only change agent-v16-sp-estimation (#53)
Оценка из ensure_fields через /rest/agile/1.0/issue/{key}/estimation доски: поле оценки
не на экране редактирования Jira банка. Контракт — sdlc-hub#113.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 21:39:23 +04:00

3.1 KiB
Raw Blame History

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}.

Решения агента

  1. 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 для этого не нужны.
  2. Остальные поля — как v15, PUT /issue только с ними; GET /issue — только если в команде есть поля, кроме оценки (key, board_id, story_points не считаются).
  3. Порядок: сначала PUT /issue с остальными полями, затем оценка. Ошибка оценки — исключение HTTP наружу, как у прочих вызовов Jira (команда failed с текстом Jira).
  4. Без board_id — оценка через PUT /issue в поле field_ids.story_points/найденное по имени, как v15.
  5. Проверка значения (число ≥ 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 отдаёт число; живая проверка до пакета одна правка агента