mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-10-28 16:02:47 +00:00
* fix: describe exponential retry as multiplier × seconds^attempt in openflow schema Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix: update folded exponential retry description in openapi-deref.yaml Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix: phrase exponential retry summary per n-th retry, matching seconds field Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * chore: update ee-repo-ref to acb254ac509aff244849c09e50a8d39aae185138 This commit updates the EE repository reference after PR #852 was merged in windmill-ee-private. Previous ee-repo-ref: 9cc330f1a8e80bc075a6ad9839966d3b344f8ddd New ee-repo-ref: acb254ac509aff244849c09e50a8d39aae185138 Automated by sync-ee-ref workflow. --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com> Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
204 lines
5.9 KiB
YAML
204 lines
5.9 KiB
YAML
type: object
|
||
properties:
|
||
script_path:
|
||
type: string
|
||
description: Path to the script or flow to execute when triggered
|
||
is_flow:
|
||
type: boolean
|
||
description: True if script_path points to a flow, false if it points to a script
|
||
labels:
|
||
type: array
|
||
items:
|
||
type: string
|
||
draft_only:
|
||
type: boolean
|
||
description: 'True when this row is a per-user draft with no deployed
|
||
|
||
trigger at the same path. Set by list endpoints when
|
||
|
||
`include_draft_only=true` synthesizes the row from the
|
||
|
||
draft. Frontend renders a "Draft" badge.
|
||
|
||
'
|
||
is_draft:
|
||
type: boolean
|
||
description: 'True when the authed user has a per-user draft at this path
|
||
|
||
(over a deployed row or a synthesized draft-only row).
|
||
|
||
Frontend appends a `*` to the displayed name.
|
||
|
||
'
|
||
url:
|
||
type: string
|
||
description: The WebSocket URL to connect to (can be a static URL or computed
|
||
by a runnable)
|
||
filters:
|
||
type: array
|
||
items:
|
||
oneOf:
|
||
- type: object
|
||
properties:
|
||
key:
|
||
type: string
|
||
value: {}
|
||
required:
|
||
- key
|
||
- value
|
||
- type: object
|
||
properties:
|
||
path:
|
||
type: string
|
||
description: Dotted path into nested objects, e.g. `a.b.c`. Does not traverse
|
||
arrays.
|
||
value: {}
|
||
required:
|
||
- path
|
||
- value
|
||
- type: object
|
||
properties:
|
||
any_of:
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- any_of
|
||
- type: object
|
||
properties:
|
||
all_of:
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- all_of
|
||
- type: object
|
||
properties:
|
||
none_of:
|
||
type: array
|
||
items:
|
||
type: object
|
||
required:
|
||
- none_of
|
||
description: 'Filters to match incoming messages (only matching messages trigger
|
||
the script). Each entry is either a leaf `{key, value}` (top-level field) or
|
||
`{path, value}` (dotted path into nested objects), or a group `{any_of: [...]}`
|
||
/ `{all_of: [...]}` / `{none_of: [...]}` nesting more entries. Entries at the
|
||
top level are combined with `filter_logic`.'
|
||
filter_logic:
|
||
type: string
|
||
enum:
|
||
- and
|
||
- or
|
||
description: Logic to apply when evaluating the top-level filters. 'and' requires
|
||
all of them to match, 'or' requires any of them to match. Nested `any_of`/`all_of`/`none_of`
|
||
groups carry their own logic.
|
||
initial_messages:
|
||
type: array
|
||
items:
|
||
oneOf:
|
||
- type: object
|
||
properties:
|
||
raw_message:
|
||
type: string
|
||
required:
|
||
- raw_message
|
||
- type: object
|
||
properties:
|
||
runnable_result:
|
||
type: object
|
||
properties:
|
||
path:
|
||
type: string
|
||
args:
|
||
type: object
|
||
description: The arguments to pass to the script or flow
|
||
additionalProperties: true
|
||
is_flow:
|
||
type: boolean
|
||
required:
|
||
- path
|
||
- args
|
||
- is_flow
|
||
required:
|
||
- runnable_result
|
||
description: Messages to send immediately after connecting (can be raw strings
|
||
or computed by runnables)
|
||
url_runnable_args:
|
||
type: object
|
||
description: The arguments to pass to the script or flow
|
||
can_return_message:
|
||
type: boolean
|
||
description: If true, the script can return a message to send back through the
|
||
WebSocket
|
||
can_return_error_result:
|
||
type: boolean
|
||
description: If true, error results are sent back through the WebSocket
|
||
heartbeat:
|
||
type: object
|
||
properties:
|
||
interval_secs:
|
||
type: integer
|
||
minimum: 1
|
||
description: Interval in seconds between heartbeat messages
|
||
message:
|
||
type: string
|
||
description: Message to send as heartbeat. Use {{state}} as a placeholder
|
||
for a value extracted from incoming messages (see state_field).
|
||
state_field:
|
||
type: string
|
||
description: Optional. Top-level JSON field to extract from incoming messages.
|
||
The extracted value replaces {{state}} in the heartbeat message.
|
||
error_handler_path:
|
||
type: string
|
||
description: Path to a script to run when the triggered job fails. A bare path,
|
||
without the script/ or flow/ prefix a schedule error handler takes; it cannot
|
||
be a flow.
|
||
error_handler_args:
|
||
type: object
|
||
description: The arguments to pass to the script or flow
|
||
retry:
|
||
type: object
|
||
properties:
|
||
constant:
|
||
type: object
|
||
description: Retry with constant delay between attempts
|
||
properties:
|
||
attempts:
|
||
type: integer
|
||
description: Number of retry attempts
|
||
seconds:
|
||
type: integer
|
||
description: Seconds to wait between retries
|
||
exponential:
|
||
type: object
|
||
description: 'Retry with exponential backoff: the n-th retry waits multiplier
|
||
× seconds^n'
|
||
properties:
|
||
attempts:
|
||
type: integer
|
||
description: Number of retry attempts
|
||
multiplier:
|
||
type: integer
|
||
description: Multiplier for exponential backoff
|
||
seconds:
|
||
type: integer
|
||
minimum: 1
|
||
description: Base of the exponential (seconds); the n-th retry waits multiplier
|
||
× seconds^n, where n counts constant retries too
|
||
random_factor:
|
||
type: integer
|
||
minimum: 0
|
||
maximum: 100
|
||
description: Random jitter percentage (0-100) to avoid thundering herd
|
||
retry_if:
|
||
$ref: '#/components/schemas/RetryIf'
|
||
description: Retry configuration for failed module executions
|
||
required:
|
||
- script_path
|
||
- is_flow
|
||
- url
|
||
- filters
|
||
- can_return_message
|
||
- can_return_error_result
|