ServerlessWorkflow.Sdk
0.8.1.13
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package ServerlessWorkflow.Sdk --version 0.8.1.13
NuGet\Install-Package ServerlessWorkflow.Sdk -Version 0.8.1.13
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ServerlessWorkflow.Sdk" Version="0.8.1.13" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ServerlessWorkflow.Sdk --version 0.8.1.13
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ServerlessWorkflow.Sdk, 0.8.1.13"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ServerlessWorkflow.Sdk as a Cake Addin
#addin nuget:?package=ServerlessWorkflow.Sdk&version=0.8.1.13
// Install ServerlessWorkflow.Sdk as a Cake Tool
#tool nuget:?package=ServerlessWorkflow.Sdk&version=0.8.1.13
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Serverless Workflow Specification - .NET SDK
Provides .NET 6.0 API/SPI and Model Validation for the Serverless Workflow Specification
With the SDK, you can:
- Read and write workflow JSON and YAML definitions
- Programmatically build workflow definitions
- Validate workflow definitions (both schema and DSL integrity validation)
Status
Latest Releases | Conformance to spec version |
---|---|
0.8.0.10 | v0.8 |
Getting Started
dotnet nuget add package ServerlessWorkflow.Sdk
services.AddServerlessWorkflow();
How to use
Building workflows programatically
var workflow = WorkflowDefinition.Create("MyWorkflow", "MyWorkflow", "1.0")
.StartsWith("inject", flow =>
flow.Inject(new { username = "test", password = "123456" }))
.Then("operation", flow =>
flow.Execute("fakeApiFunctionCall", action =>
{
action.Invoke(function =>
function.WithName("fakeFunction")
.SetOperationUri(new Uri("https://fake.com/swagger.json#fake")))
.WithArgument("username", "${ .username }")
.WithArgument("password", "${ .password }");
})
.Execute("fakeEventTrigger", action =>
{
action
.Consume(e =>
e.WithName("fakeEvent")
.WithSource(new Uri("https://fakesource.com"))
.WithType("fakeType"))
.ThenProduce(e =>
e.WithName("otherEvent")
.WithSource(new Uri("https://fakesource.com"))
.WithType("fakeType"));
}))
.End()
.Build();
Reading workflows
var reader = WorkflowReader.Create();
using(Stream stream = File.OpenRead("myWorkflow.json"))
{
var definition = reader.Read(stream, WorkflowDefinitionFormat.Json);
}
Writing workflows
var writer = WorkflowWriter.Create();
using(Stream stream = new MemoryStream())
{
writer.Write(workflow, stream);
stream.Flush();
stream.Position = 0;
using(StreamReader reader = new StreamReader(stream))
{
var yaml = reader.ReadToEnd();
Console.WriteLine(yaml);
Console.ReadLine();
}
}
Validating workflows
var validator = serviceProvider.GetRequiredService<IValidator<WorkflowDefinition>>();
var validationResult = validator.Validate(myWorkflow);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- CloudNative.CloudEvents (>= 2.3.1)
- FluentValidation.DependencyInjectionExtensions (>= 11.2.1)
- Iso8601DurationHelper (>= 1.0.5)
- Microsoft.Extensions.DependencyInjection (>= 6.0.0)
- Microsoft.Extensions.Http (>= 6.0.0)
- Microsoft.Extensions.Options (>= 6.0.0)
- Neuroglia.Serialization.Dynamic (>= 2.0.1.78)
- Neuroglia.Serialization.Json (>= 2.0.1.78)
- Neuroglia.Serialization.NewtonsoftJson (>= 2.0.1.78)
- Neuroglia.Serialization.Protobuf (>= 2.0.1.78)
- Neuroglia.Serialization.YamlDotNet (>= 2.0.1.78)
- Newtonsoft.Json (>= 13.0.1)
- Newtonsoft.Json.Schema (>= 3.0.14)
- Octokit (>= 2.0.1)
- protobuf-net.Core (>= 3.1.17)
- YamlDotNet (>= 12.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on ServerlessWorkflow.Sdk:
Package | Downloads |
---|---|
Synapse.Integration
This package contains everything you need to integrate Synapse WFMS and its APIs |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on ServerlessWorkflow.Sdk:
Repository | Stars |
---|---|
serverlessworkflow/synapse
Serverless Workflow Management System (WFMS)
|
Version | Downloads | Last updated |
---|---|---|
0.8.8 | 172 | 1/4/2024 |
0.8.7 | 774 | 6/29/2023 |
0.8.6 | 337 | 11/30/2022 |
0.8.5 | 320 | 11/18/2022 |
0.8.4 | 13,368 | 11/4/2022 |
0.8.3 | 7,202 | 10/26/2022 |
0.8.2 | 372 | 9/30/2022 |
0.8.1.16 | 4,179 | 9/28/2022 |
0.8.1.15 | 1,516 | 9/22/2022 |
0.8.1.14 | 3,490 | 9/9/2022 |
0.8.1.13 | 389 | 9/7/2022 |
0.8.1.12 | 377 | 9/7/2022 |
0.8.1.11 | 5,739 | 8/30/2022 |
0.8.1.10 | 2,536 | 8/23/2022 |
0.8.1.9 | 419 | 8/23/2022 |
0.8.1.8 | 3,654 | 8/11/2022 |
0.8.1.7 | 1,489 | 8/9/2022 |
0.8.1.6 | 1,651 | 5/20/2022 |
0.8.1.5 | 408 | 5/20/2022 |
0.8.1.4 | 449 | 5/18/2022 |
0.8.1.3 | 411 | 5/17/2022 |
0.8.1.2 | 429 | 5/17/2022 |
0.8.1.1 | 387 | 5/17/2022 |
0.8.1 | 393 | 5/16/2022 |
0.8.0.22 | 401 | 5/16/2022 |
0.8.0.21 | 495 | 5/10/2022 |
0.8.0.20 | 618 | 4/14/2022 |
0.8.0.19 | 564 | 4/14/2022 |
0.8.0.18 | 415 | 4/14/2022 |
0.8.0.17 | 442 | 4/13/2022 |
0.8.0.16 | 411 | 4/13/2022 |
0.8.0.15 | 552 | 3/7/2022 |
0.8.0.14 | 396 | 3/7/2022 |
0.8.0.13 | 433 | 3/3/2022 |
0.8.0.12 | 408 | 3/2/2022 |
0.8.0.11 | 422 | 2/25/2022 |
0.8.0.10 | 431 | 2/24/2022 |
0.8.0.9 | 436 | 2/24/2022 |
0.8.0.8 | 404 | 2/23/2022 |
0.8.0.7 | 398 | 2/23/2022 |
0.8.0.6 | 413 | 2/22/2022 |
0.8.0.5 | 394 | 2/21/2022 |
0.8.0.4 | 404 | 2/21/2022 |
0.8.0.3 | 418 | 2/18/2022 |
0.8.0.2 | 410 | 2/15/2022 |
0.8.0.1 | 412 | 2/14/2022 |
0.8.0 | 432 | 2/14/2022 |
0.7.4.4 | 364 | 7/2/2021 |
0.7.4.3 | 342 | 7/2/2021 |
0.7.4.2 | 292 | 7/2/2021 |
0.7.4.1 | 274 | 7/1/2021 |
0.7.4 | 316 | 7/1/2021 |
0.7.3 | 289 | 6/16/2021 |
0.7.2 | 334 | 6/8/2021 |
0.7.1 | 334 | 6/3/2021 |
0.7.0 | 284 | 6/2/2021 |
0.6.3 | 339 | 5/27/2021 |
0.6.2 | 315 | 5/27/2021 |
0.6.1 | 770 | 4/19/2021 |
0.6.0 | 351 | 4/3/2021 |