• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/rest/controllers/scrum/kanban.php
  • Класс: BitrixTasksRestControllersScrumKanban
  • Вызов: Kanban::getStagesAction
public function getStagesAction(int $sprintId): ?array
{
	$sprintId = (int) $sprintId;
	if (!$sprintId)
	{
		$this->errorCollection->add([new Error('Sprint id not found')]);

		return null;
	}

	$entityService = new EntityService();
	$kanbanService = new KanbanService();

	$sprint = $entityService->getEntityById($sprintId);
	if (!$sprint->getId() || $sprint->getEntityType() !== EntityForm::SPRINT_TYPE)
	{
		$this->errorCollection->add([new Error('Sprint not found')]);

		return null;
	}

	if (!$this->checkAccess($sprint->getGroupId()))
	{
		$this->errorCollection->add([new Error('Access denied')]);

		return null;
	}

	StagesTable::setWorkMode(StagesTable::WORK_MODE_ACTIVE_SPRINT);

	$stages = [];

	foreach ($kanbanService->getStages($sprintId) as $stage)
	{
		$stages[] = [
			'id' => $stage['ID'],
			'name' => $stage['TITLE'],
			'sort' => $stage['SORT'],
			'type' => $stage['SYSTEM_TYPE'],
			'sprintId' => $stage['ENTITY_ID'],
			'color' => $stage['COLOR'],
		];
	}

	return $stages;
}