conductor-oss / conductor-oss/java-sdk

START_WORKFLOW task: missing builder class

Offen Anfängerfreundlich
#131 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.