- Added InputOutputValidationException to represent Inputs/Outputs
validation issues and added handler to it in ErrorsController
- Added support for throwing multiple constraint violations for the same
input
- Added support for throwing multiple constraints at MultiselectInput
- Refactored exception handling at FlowInputOutput
- Added merge() function to combine constraint violation messages and
added test for it at InputsTest
- Fixed the failed tests
As killing an executuion is asynchronous, it is inherently racy.
So when we kill an execution it move to the rerminal state which then will remove any worker task result to purge eagerly the queue table.
But if such worker task result arrives late and was not already processed by the executor, it will be purged before ever been able to be processed so the task would nevert be updated as KILLED.
Note: this may un-flaky some falky unit tests
Fixes https://github.com/kestra-io/kestra-ee/issues/6040
* feat(filters): add new operation to filters
* feat(filters): add flowId to flow search
* fix(test): fix unit test
---------
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
If a test mis-behave, for ex starting an execution but not terminating it, as the default termination grace period is 5mn it can take very long time to wait for post-test terminaison.
Switching to a termination grace period of 5s may help.
I also detect that the ExecutionControllerRunner test when launching the test suite, would not properly kill the `sleep-long` flow so waiting for it to complete, or the termination grace period. When a test that use this flow is launched separatly it works properly. As a safety net I reduce the sleep from 5mn to 30s.
* Fix/sdk changes (#12411)
* fix: kv controller remove namespace check
* clean(API): add query to filter parameter
* fix: flow update not deprecated
* clean(API): add deprecated on open api
* feat: executions annotations for skipping, follow method generation in sdk
* feat: add typing indication to validateTask
* fix(flowController): set correct hidden for json method in
* fix: optional params in delete executions endpoints
* fix: inputs/outputs as object
* change KV schema type to be object
* add back , deprecated = false on flow update, otherwise its marked as deprecated
* Revert "add back , deprecated = false on flow update, otherwise its marked as deprecated"
This reverts commit 3772404b68f14f0a80af9e0adb9952d58e9102b4.
* feat(API): add multipart to openAPI
* feat(API): add multipart to openAPI
* fix: only use plain-text for setKeyValue endpoint
* fix: KV command test
* chore: add multipart vendor annotations for custom generation on SDK
---------
Co-authored-by: YannC. <ycoornaert@kestra.io>
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
* fix: kv test remove content type
---------
Co-authored-by: Roman Acevedo <roman.acevedo62@gmail.com>
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
Added a new 'prefill' property for all inputs
to specify an optional UI hint for pre-filling the input,while
allowing the input to be nullable.
Fixes: #11819
Add a new `inputs` property to the Webhook trigger, allowing input
data to be passed to the triggered flow. If no inputs are defined on the trigger,
the flow will not receive any inputs, even if some have default values.
This behavior ensures backward compatibility with how the Webhook trigger currently works.
* feat(flows): add human task
* clean(flows): move models and validation into plugin packages and move validation logic to the task
---------
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>