START_WORKFLOW task: missing builder class
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 85/100
Research direction
Start by comparing existing builders in conductor-client/…/def/tasks/ and reading the Task and WorkflowTask APIs. Add StartWorkflow.java with the fluent behavior shown in the issue, then verify the documented example produces inputParameters.startWorkflow and run the SDK’s existing tests.
Written by the indexing model from the issue text.
Description
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
new StartWorkflow("fire_child", "child_workflow_name")
.version(1)
.workflowInput(Map.of("key", "value"))
Proposed fix
public class StartWorkflow extends Task<StartWorkflow> {
private final String workflowName;
private Integer version;
private Map<String, Object> 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<String, Object> input) {
this.workflowInput = input;
return this;
}
@Override
protected void updateWorkflowTask(WorkflowTask task) {
Map<String, Object> 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.
- Dominant language
- Java
- Stars
- 12
- Forks
- 10
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 4
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from conductor-oss/java-sdk
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
conductor-oss/java-sdk#135 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
conductor-oss/java-sdk#133 ·
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 92/100
conductor-oss/java-sdk#132 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
conductor-oss/java-sdk#130 ·
-
bug
conductor-oss/java-sdk#134 · 1 comment · 2 assignees ·
All issues in conductor-oss/java-sdk
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
opensearch-project/k-NN#3597 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100