Camunda . Нюанс работы Result variable со значением null

Недавно в процессе дебага узнала интересную особенность работы Camunda 7. Если бы я это уже знала - сэкономила бы час-полтора рабочего времени.

Если используется Script task и результат выполнения кода сохраняется через поле Result variable, движок ведет себя не совсем очевидно и может легко сломать процесс на следующем шаге.

Когда скрипт на последней строке вычисляет null, поведение Camunda зависит от того, существовала ли переменная до запуска этой задачи. Если переменной еще не было в процессе - Camunda увидит null и просто… ничего не сделает. Переменная не будет создана. Никакой ошибки на самом Script task не возникнет. Но если на следующем шлюзе (Exclusive Gateway) попытаться проверить эту переменную (например, ${assignedManager == null}), процесс упадет с ошибкой.

На форуме рекомендуют либо создать переменную до Script task, либо создать ее явно внутри через execution.setVariable(): https://forum.camunda.io/t/use-variable-with-null-object/2991

#techsupport #camunda #bpmn #automation

Camunda . Нюанс работы Result variable со значением null | Сетка — социальная сеть от hh.ru