A community extension for Camunda BPM which replaces the built-in FEEL engine of the Camunda DMN engine.
- full support for unary tests and expressions
- support all data types
- include built-in functions
- extensible by own functions
What is FEEL?
FEEL (Friendly Enough Expression Language) is a part of the DMN specification of the OMG. It is designed to write expressions for decision tables and literal expressions in a simple way what can easily understand by business professionals and developers.
How to use it?
- Java 8
You can integrate the FEEL engine in different ways
- standalone or as script engine
- together with a standalone / embedded Camunda DMN engine via feel engine factory spi
- together with a Camunda BPM engine as process engine plugin
Then, you can use FEEL expressions in decision tables and decision literal expressions.
See the Wiki for more information about the FEEL engine and the supported FEEL expressions.
< 7 // input less than 7 not(2,4) // input is not 2 or 4 [date("2015-09-17")..date("2015-09-19")] // input is between '2015-09-17' and '2015-09-19' <= duration("P1D") // input is less or equal one day
applicant.monthly.income * 12 if applicant.maritalStatus in ("M","S") then "valid" else "not valid" sum( [applicant.monthly.repayments, applicant.monthly.expenses] ) sum( credit_history[record_date > date("2011-01-01")].weight ) some ch in credit_history satisfies ch.event = "bankruptcy"
See more examples.
Found a bug? Please report it using Github Issues.
Want to extend, improve or fix a bug in the extension? Pull Requests are very welcome.
Want to discuss something? The Camunda Forum might be the best place for it.