ServerlessWorkflow.Sdk
0.8.1.6
Prefix Reserved
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.6
NuGet\Install-Package ServerlessWorkflow.Sdk -Version 0.8.1.6
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.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ServerlessWorkflow.Sdk" Version="0.8.1.6" />
<PackageReference Include="ServerlessWorkflow.Sdk" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ServerlessWorkflow.Sdk --version 0.8.1.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ServerlessWorkflow.Sdk, 0.8.1.6"
#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.
#addin nuget:?package=ServerlessWorkflow.Sdk&version=0.8.1.6
#tool nuget:?package=ServerlessWorkflow.Sdk&version=0.8.1.6
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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.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.2.0)
- FluentValidation.DependencyInjectionExtensions (>= 10.4.0)
- 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.57)
- Neuroglia.Serialization.Json (>= 2.0.1.57)
- Neuroglia.Serialization.NewtonsoftJson (>= 2.0.1.57)
- Neuroglia.Serialization.Protobuf (>= 2.0.1.57)
- Neuroglia.Serialization.YamlDotNet (>= 2.0.1.57)
- Newtonsoft.Json (>= 13.0.1)
- Newtonsoft.Json.Schema (>= 3.0.14)
- Octokit (>= 0.50.0)
- protobuf-net.Core (>= 3.0.101)
- YamlDotNet (>= 11.2.1)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on ServerlessWorkflow.Sdk:
Package | Downloads |
---|---|
Synapse.Integration
This package contains everything you need to integrate Synapse WFMS and its APIs |
|
ServerlessWorkflow.Sdk.IO
Contains services used to read and write ServerlessWorkflow workflow definitions |
|
ServerlessWorkflow.Sdk.Builders
Contains services used to build ServerlessWorkflow workflow definitions programatically |
|
Synapse.Sdk
Contains the definitions for all resources used by Synapse |
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 | |
---|---|---|---|
1.0.1 | 291 | 3/14/2025 | |
1.0.0 | 783 | 1/30/2025 | |
1.0.0-alpha6.3 | 271 | 1/16/2025 | |
1.0.0-alpha6.2 | 89 | 1/10/2025 | |
1.0.0-alpha6.1 | 70 | 1/10/2025 | |
1.0.0-alpha6 | 93 | 1/10/2025 | |
1.0.0-alpha5.4 | 76 | 12/19/2024 | |
1.0.0-alpha5.3 | 75 | 12/19/2024 | |
1.0.0-alpha5.2 | 222 | 11/20/2024 | |
1.0.0-alpha5.1 | 838 | 10/25/2024 | |
1.0.0-alpha5 | 285 | 10/22/2024 | |
1.0.0-alpha4.1 | 85 | 10/22/2024 | |
1.0.0-alpha4 | 171 | 10/18/2024 | |
1.0.0-alpha3.1 | 101 | 10/18/2024 | |
1.0.0-alpha3 | 423 | 10/11/2024 | |
1.0.0-alpha2.16 | 500 | 10/1/2024 | |
1.0.0-alpha2.15 | 567 | 9/8/2024 | |
1.0.0-alpha2.14 | 92 | 9/6/2024 | |
1.0.0-alpha2.13 | 83 | 9/6/2024 | |
1.0.0-alpha2.12 | 197 | 8/30/2024 | |
1.0.0-alpha2.11 | 149 | 8/21/2024 | |
1.0.0-alpha2.10 | 96 | 8/21/2024 | |
1.0.0-alpha2.9 | 98 | 8/21/2024 | |
1.0.0-alpha2.8 | 147 | 8/9/2024 | |
1.0.0-alpha2.7 | 86 | 8/8/2024 | |
1.0.0-alpha2.6 | 90 | 6/27/2024 | |
1.0.0-alpha2.5 | 136 | 6/26/2024 | |
1.0.0-alpha2.4 | 72 | 6/26/2024 | |
1.0.0-alpha2.3 | 73 | 6/26/2024 | |
1.0.0-alpha2.2 | 83 | 6/25/2024 | |
1.0.0-alpha2.1 | 93 | 6/21/2024 | |
1.0.0-alpha2 | 131 | 6/19/2024 | |
1.0.0-alpha1 | 249 | 5/22/2024 | |
0.8.8 | 328 | 1/4/2024 | |
0.8.7 | 826 | 6/29/2023 | |
0.8.6 | 425 | 11/30/2022 | |
0.8.5 | 391 | 11/18/2022 | |
0.8.4 | 14,571 | 11/4/2022 | |
0.8.3 | 7,719 | 10/26/2022 | |
0.8.2 | 459 | 9/30/2022 | |
0.8.1.16 | 4,502 | 9/28/2022 | |
0.8.1.15 | 1,661 | 9/22/2022 | |
0.8.1.14 | 3,761 | 9/9/2022 | |
0.8.1.13 | 459 | 9/7/2022 | |
0.8.1.12 | 456 | 9/7/2022 | |
0.8.1.11 | 6,130 | 8/30/2022 | |
0.8.1.10 | 2,738 | 8/23/2022 | |
0.8.1.9 | 488 | 8/23/2022 | |
0.8.1.8 | 3,913 | 8/11/2022 | |
0.8.1.7 | 1,631 | 8/9/2022 | |
0.8.1.6 | 1,795 | 5/20/2022 | |
0.8.1.5 | 489 | 5/20/2022 | |
0.8.1.4 | 531 | 5/18/2022 | |
0.8.1.3 | 490 | 5/17/2022 | |
0.8.1.2 | 515 | 5/17/2022 | |
0.8.1.1 | 467 | 5/17/2022 | |
0.8.1 | 478 | 5/16/2022 | |
0.8.0.22 | 480 | 5/16/2022 | |
0.8.0.21 | 578 | 5/10/2022 | |
0.8.0.20 | 715 | 4/14/2022 | |
0.8.0.19 | 648 | 4/14/2022 | |
0.8.0.18 | 495 | 4/14/2022 | |
0.8.0.17 | 516 | 4/13/2022 | |
0.8.0.16 | 502 | 4/13/2022 | |
0.8.0.15 | 644 | 3/7/2022 | |
0.8.0.14 | 496 | 3/7/2022 | |
0.8.0.13 | 526 | 3/3/2022 | |
0.8.0.12 | 496 | 3/2/2022 | |
0.8.0.11 | 518 | 2/25/2022 | |
0.8.0.10 | 520 | 2/24/2022 | |
0.8.0.9 | 536 | 2/24/2022 | |
0.8.0.8 | 496 | 2/23/2022 | |
0.8.0.7 | 480 | 2/23/2022 | |
0.8.0.6 | 500 | 2/22/2022 | |
0.8.0.5 | 478 | 2/21/2022 | |
0.8.0.4 | 492 | 2/21/2022 | |
0.8.0.3 | 510 | 2/18/2022 | |
0.8.0.2 | 507 | 2/15/2022 | |
0.8.0.1 | 487 | 2/14/2022 | |
0.8.0 | 519 | 2/14/2022 | |
0.7.4.4 | 455 | 7/2/2021 | |
0.7.4.3 | 432 | 7/2/2021 | |
0.7.4.2 | 379 | 7/2/2021 | |
0.7.4.1 | 361 | 7/1/2021 | |
0.7.4 | 407 | 7/1/2021 | |
0.7.3 | 377 | 6/16/2021 | |
0.7.2 | 408 | 6/8/2021 | |
0.7.1 | 430 | 6/3/2021 | |
0.7.0 | 378 | 6/2/2021 | |
0.6.3 | 432 | 5/27/2021 | |
0.6.2 | 405 | 5/27/2021 | |
0.6.1 | 868 | 4/19/2021 | |
0.6.0 | 449 | 4/3/2021 |