diff --git a/src/core/Elsa.Abstractions/Services/Models/ActivityExecutionContext.cs b/src/core/Elsa.Abstractions/Services/Models/ActivityExecutionContext.cs index 215d26ac8..1b5e86041 100644 --- a/src/core/Elsa.Abstractions/Services/Models/ActivityExecutionContext.cs +++ b/src/core/Elsa.Abstractions/Services/Models/ActivityExecutionContext.cs @@ -157,6 +157,7 @@ namespace Elsa.Services.Models public T? GetOutputFrom(string activityName, Func defaultValue) => (T?) GetOutputFrom(activityName, defaultValue())!; public T? GetOutputFrom(string activityName, T? defaultValue) => (T?) GetOutputFrom(activityName, () => defaultValue)!; public void SetWorkflowContext(object? value) => WorkflowExecutionContext.SetWorkflowContext(value); + public object? GetWorkflowContext() => WorkflowExecutionContext.GetWorkflowContext(); public T GetWorkflowContext() => WorkflowExecutionContext.GetWorkflowContext(); public JObject GetActivityData(string activityId) diff --git a/src/core/Elsa.Abstractions/Services/Models/WorkflowExecutionContext.cs b/src/core/Elsa.Abstractions/Services/Models/WorkflowExecutionContext.cs index 9d2d5152c..6794c2071 100644 --- a/src/core/Elsa.Abstractions/Services/Models/WorkflowExecutionContext.cs +++ b/src/core/Elsa.Abstractions/Services/Models/WorkflowExecutionContext.cs @@ -203,6 +203,7 @@ namespace Elsa.Services.Models public T GetOutputFrom(string activityName) => (T) GetOutputFrom(activityName)!; public void SetWorkflowContext(object? value) => WorkflowContext = value; + public object? GetWorkflowContext() => WorkflowContext; public T GetWorkflowContext() => (T) WorkflowContext!; /// diff --git a/src/scripting/Elsa.Scripting.JavaScript/Handlers/ConfigureJavaScriptEngine.cs b/src/scripting/Elsa.Scripting.JavaScript/Handlers/ConfigureJavaScriptEngine.cs index 95fd94d1e..28486f9c1 100644 --- a/src/scripting/Elsa.Scripting.JavaScript/Handlers/ConfigureJavaScriptEngine.cs +++ b/src/scripting/Elsa.Scripting.JavaScript/Handlers/ConfigureJavaScriptEngine.cs @@ -39,6 +39,7 @@ namespace Elsa.Scripting.JavaScript.Handlers engine.SetValue("input", activityContext.Input); engine.SetValue("correlationId", workflowInstance.CorrelationId); engine.SetValue("currentCulture", CultureInfo.InvariantCulture); + engine.SetValue("workflowContext", activityContext.GetWorkflowContext()); // NodaTime types. RegisterType(engine);