Repository: kestra-io/kestra
Issue: Make "from" a required property in Split task
Labels: bug
quick-win

### Describe the issue

type: "io.kestra.core.tasks.storages.Split"

without from, the task cannot run so it must be mandatory

### Environment

- Kestra Version:
- Operating System (OS/Docker/Kubernetes):
- Java Version (if you don't run kestra in Docker):


Issue comments:

Pull request review comments:

Patch that resolved the issue:
diff --git a/core/src/main/java/io/kestra/core/tasks/storages/Delete.java b/core/src/main/java/io/kestra/core/tasks/storages/Delete.java
index bc08e20afd..ffd2a97a72 100644
--- a/core/src/main/java/io/kestra/core/tasks/storages/Delete.java
+++ b/core/src/main/java/io/kestra/core/tasks/storages/Delete.java
@@ -8,6 +8,7 @@
 import io.kestra.core.runners.RunContext;
 import io.kestra.core.storages.StorageInterface;
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 
@@ -37,6 +38,7 @@ public class Delete extends Task implements RunnableTask<Delete.Output> {
         description = "Must be a `kestra://` storage URI."
     )
     @PluginProperty(dynamic = true)
+    @NotNull
     private String uri;
 
     @Schema(
diff --git a/core/src/main/java/io/kestra/core/tasks/storages/Reverse.java b/core/src/main/java/io/kestra/core/tasks/storages/Reverse.java
index 4c0e73f89d..478915e3a5 100644
--- a/core/src/main/java/io/kestra/core/tasks/storages/Reverse.java
+++ b/core/src/main/java/io/kestra/core/tasks/storages/Reverse.java
@@ -7,6 +7,7 @@
 import io.kestra.core.models.tasks.Task;
 import io.kestra.core.runners.RunContext;
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 import org.apache.commons.io.Charsets;
@@ -43,6 +44,7 @@ public class Reverse extends Task implements RunnableTask<Reverse.Output> {
         title = "The file to be split."
     )
     @PluginProperty(dynamic = true)
+    @NotNull
     private String from;
 
     @Schema(
diff --git a/core/src/main/java/io/kestra/core/tasks/storages/Size.java b/core/src/main/java/io/kestra/core/tasks/storages/Size.java
index b3da03e5f9..b372f2a233 100644
--- a/core/src/main/java/io/kestra/core/tasks/storages/Size.java
+++ b/core/src/main/java/io/kestra/core/tasks/storages/Size.java
@@ -8,6 +8,7 @@
 import io.kestra.core.runners.RunContext;
 import io.kestra.core.storages.StorageInterface;
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 
@@ -36,6 +37,7 @@ public class Size extends Task implements RunnableTask<Size.Output> {
         description = "Must be a `kestra://` storage URI."
     )
     @PluginProperty(dynamic = true)
+    @NotNull
     private String uri;
 
     @Override
diff --git a/core/src/main/java/io/kestra/core/tasks/storages/Split.java b/core/src/main/java/io/kestra/core/tasks/storages/Split.java
index 20848a7c29..3da29b14af 100644
--- a/core/src/main/java/io/kestra/core/tasks/storages/Split.java
+++ b/core/src/main/java/io/kestra/core/tasks/storages/Split.java
@@ -10,6 +10,7 @@
 import io.kestra.core.storages.StorageSplitInterface;
 import io.micronaut.core.convert.format.ReadableBytesTypeConverter;
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 
@@ -64,6 +65,7 @@ public class Split extends Task implements RunnableTask<Split.Output>, StorageSp
         title = "The file to be split."
     )
     @PluginProperty(dynamic = true)
+    @NotNull
     private String from;
 
     private String bytes;


Test patch: