danielgerlag / danielgerlag/workflow-core

Workflow DSL - Control Structures "If" is not evaluating properly when Inputs -> Condition includes JObject properties

Open
#1,135 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
5.9k
Forks
1.3k
Avg merge
1d 1h
Merged PRs (30d)
5

Description

We are using Workflow Core for one of our projects. Our workflows are dynamically build using Workflow.DSL. Most of our input properties that are evaluated by WF Control Structures are JObject types. I am encountering an issue when "If" condition is evaluating against one of the JObject type properties. For example below is an fragment of DSL JSON workflow where condition of first step (If) is evaluated against "data.SystemEvent.Event.TaskEventType" and Event is JObject property. This condition would return "true" if "Event.TraskEventType" is strongly type; however, I get "false" if it is JObject.

![image](https://user-images.githubusercontent.com/9340588/213500579-dd8408e9-00ab-45f6-9a00-66d231b37015.png)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the Workflow.DSL If control structure and reproduce the reported JSON workflow using a JObject Event property. Compare its condition evaluation with the strongly typed Event case; done means equivalent values produce the same result, with a regression check covering both cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.