diff --git a/cli/src/main/java/io/kestra/cli/commands/sys/RestoreQueueCommand.java b/cli/src/main/java/io/kestra/cli/commands/sys/RestoreQueueCommand.java index b92e64c89bc..6889151c520 100644 --- a/cli/src/main/java/io/kestra/cli/commands/sys/RestoreQueueCommand.java +++ b/cli/src/main/java/io/kestra/cli/commands/sys/RestoreQueueCommand.java @@ -30,6 +30,9 @@ public class RestoreQueueCommand extends AbstractCommand { @CommandLine.Option(names = {"--no-triggers"}, description = "Don't send triggers") private boolean noTriggers = false; + @CommandLine.Option(names = {"--no-triggers-execution-id"}, description = "Remove executionId from trigger") + private boolean noTriggerExecutionId = false; + @Override public Integer call() throws Exception { super.call(); @@ -50,7 +53,7 @@ public Integer call() throws Exception { // trigger if (!this.noTriggers) { - int size = restoreQueueService.triggers(noRecreate); + int size = restoreQueueService.triggers(noRecreate, noTriggerExecutionId); stdOut("Successfully send {0} triggers", size); } diff --git a/cli/src/main/java/io/kestra/cli/services/RestoreQueueService.java b/cli/src/main/java/io/kestra/cli/services/RestoreQueueService.java index ea50fb2066f..ed461378399 100644 --- a/cli/src/main/java/io/kestra/cli/services/RestoreQueueService.java +++ b/cli/src/main/java/io/kestra/cli/services/RestoreQueueService.java @@ -47,10 +47,20 @@ public int templates(boolean noRecreate) { return this.send(templates, QueueFactoryInterface.TEMPLATE_NAMED, Template.class, noRecreate); } - public int triggers(boolean noRecreate) { + public int triggers(boolean noRecreate, boolean noTriggerExecutionId) { TriggerRepositoryInterface triggerRepository = applicationContext.getBean(TriggerRepositoryInterface.class); List triggers = new ArrayList<>(triggerRepository.findAll()); + if (noTriggerExecutionId) { + triggers = triggers + .stream() + .map(trigger -> trigger.toBuilder() + .executionId(null) + .build() + ) + .collect(Collectors.toList()); + } + return this.send(triggers, QueueFactoryInterface.TRIGGER_NAMED, Trigger.class, noRecreate); } diff --git a/core/src/main/java/io/kestra/core/models/triggers/Trigger.java b/core/src/main/java/io/kestra/core/models/triggers/Trigger.java index d874414ef3d..2ccfe224c56 100644 --- a/core/src/main/java/io/kestra/core/models/triggers/Trigger.java +++ b/core/src/main/java/io/kestra/core/models/triggers/Trigger.java @@ -10,7 +10,7 @@ import io.micronaut.core.annotation.Nullable; import javax.validation.constraints.NotNull; -@SuperBuilder +@SuperBuilder(toBuilder = true) @ToString @EqualsAndHashCode @Getter diff --git a/core/src/main/java/io/kestra/core/models/triggers/TriggerContext.java b/core/src/main/java/io/kestra/core/models/triggers/TriggerContext.java index d18222e1648..ec528c6a0c3 100644 --- a/core/src/main/java/io/kestra/core/models/triggers/TriggerContext.java +++ b/core/src/main/java/io/kestra/core/models/triggers/TriggerContext.java @@ -10,7 +10,7 @@ import java.util.Arrays; import javax.validation.constraints.NotNull; -@SuperBuilder +@SuperBuilder(toBuilder = true) @ToString @Getter @NoArgsConstructor