Мы используем подзадачи, и я хочу переместить родителей в зависимости от статуса подзадач. Например, если подзадача перемещена в состояние In Progress, а ее родитель находится в состоянии Open, переместите также и родительский объект в состояние In Progress.
С другой стороны, я хочу провести некоторую проверку статусов, чтобы убедиться в статусах родителей и подзадачи выровнены. Я делаю эту проверку в слушателе ScriptRunner, который слушает пользовательское событие SubTaskTransitionComplete.
У меня есть следующие пост-функции при переходе Open -> In Progress для подзадач:
- Post-функция ScriptRunner, которая изменяет статус родительского элемента на «Выполняется»
- Устанавливает статус проблемы для связанного состояния целевого шага рабочего процесса (стандартный)
- Повторно индексируйте проблему, чтобы сохранить индексы в синхронизации c с базой данных (стандартная)
- Запуск события SubtaskTransitionComplete (ScriptRunner)
- Запуск события Generi c Событие, которое может быть обработано слушателями (стандартное)
Но я все еще получаю, что мой прослушиватель событий (который подписан на событие, которое запускается в пост-функции # 4) сообщает мне, что подзадача находится в состоянии «В процессе», а ее родитель находится в Открыть, несмотря на то, что статус родителя должен был быть изменен (и фактически он изменен) на «Выполняется» в пост-функции # 1.
Не могли бы вы помочь мне выяснить, что не так?
Спасибо!