Here you will find all the specification types defined by our Json Schemas, in Go.
Current status of features implemented in the SDK is listed in the table below:
Feature | Status |
---|---|
Parse workflow JSON and YAML definitions | ✔️ |
Programmatically build workflow definitions | 🚫 |
Validate workflow definitions (Schema) | ✔️ |
Validate workflow definitions (Integrity) | ✔️ |
Generate workflow diagram (SVG) | 🚫 |
Latest Releases | Conformance to spec version |
---|---|
v1.0.0 | v0.5 |
v2.0.1 | v0.6 |
v2.1.0 | v0.7 |
Run the following command in the root of your Go's project:
$ go get github.com/serverlessworkflow/sdk-go/v2
Your go.mod
file should be updated to add a dependency from the Serverless Workflow specification.
To use the generated types, import the package in your go file like this:
import "github.com/serverlessworkflow/sdk-go/v2/model"
Then just reference the package in your Go file like myfunction := model.Function{}
.
Serverless Workflow Specification supports YAML and JSON files for Workflow definitions. To transform such files into a Go data structure, use:
package sw
import (
"github.com/serverlessworkflow/sdk-go/v2/model"
"github.com/serverlessworkflow/sdk-go/v2/parser"
)
func ParseWorkflow(filePath string) (*model.Workflow, error) {
workflow, err := parser.FromFile(filePath)
if err != nil {
return nil, err
}
return workflow, nil
}
The Workflow
structure then can be used in your application.