# Definition of Done в Scrum

Шесть методов Scrum DoD и метрик доступны как именованные маршруты. Для всех нужен API-ключ со скоупом `task`; запись дополнительно требует ключ без режима READONLY. Ответ Битрикс24 находится в `data` без преобразования.

## Настройки DoD

`GET /v1/scrum/groups/:groupId/dod/settings` вызывает `tasks.scrum.DoD.getSettings`. Необязательный query-параметр: `saveRequest` (`Y` или `N`, по умолчанию `Y`). Ответ содержит `types` и `activeTypeId`. Параметр `taskId` не принимается: при ненулевом значении контроллер Битрикс24 пропускает проверку доступа к указанной группе.

`GET /v1/scrum/groups/:groupId/tasks/:taskId/dod/necessary` вызывает `tasks.scrum.DoD.isNecessary` и возвращает булево значение.

`POST /v1/scrum/groups/:groupId/dod/types/:typeId/settings` вызывает `tasks.scrum.DoD.saveSettings`. JSON-тело: `{ "requiredOption": "Y", "items": [], "participants": [] }`; оба массива обязательны. Пустые массивы могут очистить сохранённые пункты и участников. Результат Битрикс24 содержит `type` либо равен `null`.

`POST /v1/scrum/tasks/:taskId/dod/:typeId` вызывает `tasks.scrum.DoD.saveList`. JSON-тело: `{ "items": [] }`; поле `items` обязательно, пустой массив очищает сохранённый список. Результат — строка либо `null`.

В справочнике API оба POST-примера читают JSON из файла-заготовки. Перед вызовом подготовьте файл с полными актуальными `items` и, для настроек, `participants`: Битрикс24 заменяет ими сохранённые значения. Файла по указанному пути по умолчанию нет.

`tasks.scrum.DoD.getList` здесь не опубликован: контроллер Битрикс24 возвращает компонент, а форму успешного REST-ответа пока не удалось проверить на доступной тестовой группе. Для определения контракта нужен доступ к группе и задаче с настроенным DoD.

## Метрики

Данные метрик спринта описаны на [отдельной странице](/docs/scrum/metrics).
