diff -u b/src/EventSubscriber/GenericEventSubscriber.php b/src/EventSubscriber/GenericEventSubscriber.php --- b/src/EventSubscriber/GenericEventSubscriber.php +++ b/src/EventSubscriber/GenericEventSubscriber.php @@ -118,7 +118,6 @@ // Setup the execution state. $state = ExecutionState::create(); - $context_values = []; foreach ($event_definition['context_definitions'] as $context_name => $context_definition) { // If this is a GenericEvent, get the context for the rule from the event // arguments. @@ -130,13 +129,13 @@ // Setup the execution state. $state = ExecutionState::create(); + $context_values = []; foreach ($event_definition['context_definitions'] as $context_name => $context_definition) { // If there is a getter method set in the event definition, use that. // @see https://www.drupal.org/project/rules/issues/2762517 $context_definition, $value ); - $context_values[$context_name] = $value; } $components = $this->componentRepository->getMultiple($triggered_events, 'rules_event'); @@ -151,6 +150,7 @@ $value = $getter->call($event, $context_name); } $state->setVariable($context_name, $context_definition, $value); + $context_values[$context_name] = $value; } $components = $this->componentRepository->getMultiple($triggered_events, 'rules_event');