Skip to content

Add components section to improve reusability through referencing within the spec #43

@frankkilcommins

Description

@frankkilcommins

It's currently possible to compose a workflows document and reference other workflow documents, but referencing capabilities of steps and/or reusing step inputs across workflows or steps is limited.

The current scope and referencing of inputs and outputs for steps and workflows is described by the following picture:
Workflows-Access-Scope-for-Inputs-and-Outputs

Defining workflow inputs, steps and/or step inputs under a global components section (similar to OpenAPI) could bring better reusability through referencing.

Proposal for Components within the Workflows Specification

Components

Holds a set of reusable objects for different aspects of the Workflows Specification. All objects defined within the components object will have no effect on the workflow unless they are explicitly referenced from properties outside the components object.

Field Name Type Description
inputs Map[string, Schema Object] An object to hold reusable JSON Schema objects to be referenced from workflow inputs. Remark: possibly trimmed down version of OAS Schema Object
steps Map[string, Step Object] An object to hold a reusable Step Objects.
parameters Map[string, Parameter Object] An object to hold reusable Parameter Objects

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions