conductor-oss / conductor-oss/java-sdk
START_WORKFLOW task: missing builder class
- Vorherrschende Sprache
- Java
- Sterne
- 12
- Forks
- 10
- Ø Merge
- 2 T. 8 Std.
- Gemergte PRs (30 T.)
- 4
Beschreibung
## Summary
`TaskType.START_WORKFLOW` exists in the SDK enum but there is no `StartWorkflow`
builder class in `conductor-client/…/def/tasks/`. A file named `StartWorkflow.java`
exists only in `examples/old/` and is an example runner, not a task builder.
Users cannot create a START_WORKFLOW task using the fluent SDK API.
## Server baseline
Conductor **3.32.0-rc.9**
## Evidence
**Static:** No `StartWorkflow` builder class under `conductor-client/…/def/tasks/`.
**Live (2026-07-16):** A raw `WorkflowTask` with `"type": "START_WORKFLOW"` and
`inputParameters.startWorkflow = { "name": "…", "version": 1, "input": {} }` was
registered and executed against Conductor OSS 3.32.0-rc.9. The workflow completed
successfully — gap is SDK-only.
## Expected behaviour
```java
new StartWorkflow("fire_child", "child_workflow_name")
.version(1)
.workflowInput(Map.of("key", "value"))
```
## Proposed fix
```java
public class StartWorkflow extends Task {
private final String workflowName;
private Integer version;
private Map workflowInput = new HashMap<>();
public StartWorkflow(String taskReferenceName, String workflowName) {
super(taskReferenceName, TaskType.START_WORKFLOW);
this.workflowName = workflowName;
}
public StartWorkflow version(int version) {
this.version = version;
return this;
}
public StartWorkflow workflowInput(Map input) {
this.workflowInput = input;
return this;
}
@Override
protected void updateWorkflowTask(WorkflowTask task) {
Map startWorkflow = new HashMap<>();
startWorkflow.put("name", workflowName);
if (version != null) startWorkflow.put("version", version);
startWorkflow.put("input", workflowInput);
task.getInputParameters().put("startWorkflow", startWorkflow);
}
}
```
## Related
Discovered during systematic SDK audit against Conductor OSS 3.32.0-rc.9.
Beitragsleitfaden
Rechercherichtung
Beginne damit, die vorhandenen Builder in conductor-client/…/def/tasks/ zu vergleichen und die APIs von Task und WorkflowTask zu lesen. Füge StartWorkflow.java mit dem in der Issue gezeigten Fluent-Verhalten hinzu. Überprüfe anschließend, dass das dokumentierte Beispiel inputParameters.startWorkflow erzeugt, und führe die vorhandenen Tests des SDK aus.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- api
- Issue-Typ
- Feature
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Ruhig
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 85/100