Workflow schema

Summary

version: 1.0.0
workflow:
  id: string
  meta: object
  class: string
  initialActions:
  - # {initialaction}
  - # {initialaction}
  steps:
  - # {step}
  - # {step}

Properties

Name Required Type Description
version true string Version of the schema. Must be 1.0.0.
workflow true object Object containing workflow definition.
workflow.id true string Unique identifier for the workflow.
workflow.meta false object Arbitrary data to help describe your flow. Not used by the engine.
workflow.class true string ID of a registered class that defines the storage interface and scheduler for the workflow. See Creating a workflow class.
workflow.initialActions true array Array of initialAction objects. Must have one or more initial actions.
workflow.steps true array Array of step objects. Must have two or more steps.

JSON Schema

{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "workflow.schema.json",
    "type": "object",
    "title":"Workflow definition",
    "description":"Container object for a complete CfFlow workflow definition",
    "required": [
        "version",
        "workflow"
    ],
    "properties": {
        "version": {
            "type": "string",
            "description": "Version number of the schema to validate against (i.e. this document)",
            "enum": [
                "1.0.0"
            ]
        },
        "workflow": {
            "type": "object",
            "title": "Workflow",
            "description": "The root object that describes the workflow",
            "required":[ "id", "class", "steps", "initialActions" ],
            "additionalProperties": false,
            "properties": {
                "id":{ "type":"string", "description": "The unique identifier for the workflow." },
                "class":{ "type":"string", "description": "The workflow class. Determines what storage class and scheduler to use." },
                "meta":{ "type":"object", "description": "Abitrary metadata that you may use to describe the workflow" },
                "initialActions":{
                    "type": "array",
                    "minItems": 1,
                    "description": "Array of initial actions for the workflow. At least one must be specified to set the first step and perform any other functions and checks.",
                    "items": {
                        "$ref": "initialAction.schema.json"
                    }
                },
                "steps": {
                    "type": "array",
                    "minItems": 2,
                    "description": "The steps of the flow. Any workflow must have at least two steps.",
                    "items": {
                        "$ref": "step.schema.json"
                    }
                }
            }
        }
    }
}

Table of contents