Core Plugins and tasks SseRequest

Core Plugins and tasks SseRequest

Certified

Consume Server-Sent Events (SSE) from an HTTP endpoint.

Connects to an SSE endpoint and consumes events. Optionally extracts and concatenates specific fields from event data using JQ.

SSE endpoints send events in the format:

data: {"field": "value"}

Use the concatJqExpression property to extract specific fields from each event's JSON data and concatenate them into a single string result.

yaml
type: io.kestra.plugin.core.http.SseRequest

Consume SSE events from an endpoint and collect all events.

yaml
id: sse_consumer
namespace: company.team

tasks:
  - id: consume_events
    type: io.kestra.plugin.core.http.SseRequest
    uri: https://example.com/events
    maxEvents: 10

Consume SSE events and extract specific field using JQ, concatenating all values.

yaml
id: sse_with_JQ
namespace: company.team

tasks:
  - id: consume_and_extract
    type: io.kestra.plugin.core.http.SseRequest
    uri: https://example.com/stream
    concatJqExpression: $.message

Consume SSE events with authentication header.

yaml
id: sse_authenticated
namespace: company.team

tasks:
  - id: auth_sse
    type: io.kestra.plugin.core.http.SseRequest
    uri: https://api.example.com/events
    headers:
      Authorization: 'Bearer {{ secret("API_TOKEN") }}'
    concatJqExpression: $.data.value
Properties

The fully-qualified URI that points to the HTTP destination

The full body as a string

JQ expression to extract and concatenate values from event data.

When provided, this JQ expression will be applied to each event's, and the extracted values will be concatenated into a single string. If the path is not found in an event, that event will be skipped.

Defaultapplication/json

The request content type

If true, the task will fail if the JQ expression is provided but fails to extract a value from any event.

If false, events that do not match the JQ expression will be skipped without causing the task to fail. If true, the task will throw an exception if any event does not yield a value from the JQ expression. Default is true.

The form data to be send

SubTypestring

The headers to pass to the request

DefaultGET

The HTTP method to use

Default{ "followRedirects": "true", "allowFailed": "false", "enabledTcpExtendedKeepAlive": "true", "defaultCharset": "UTF-8" }

The HTTP request options

Definitions
allowFailedbooleanstring
Defaultfalse

If true, allow a failed response code (response code >= 400)

allowedResponseCodesarray
SubTypeinteger

List of response code allowed for this request

auth

The authentication to use.

type*Requiredobject
passwordstring

The password for HTTP basic authentication.

usernamestring

The username for HTTP basic authentication.

type*Requiredobject
tokenstring

The token for bearer token authentication.

type*Requiredobject
passwordstring

The password for HTTP Digest authentication.

usernamestring

The username for HTTP Digest authentication.

basicAuthPasswordDeprecatedstring

The password for HTTP basic authentication. Deprecated, use auth property with a BasicAuthConfiguration instance instead.

basicAuthUserDeprecatedstring

The username for HTTP basic authentication. Deprecated, use auth property with a BasicAuthConfiguration instance instead.

connectTimeoutDeprecatedstring
Formatduration

The time allowed to establish a connection to the server before failing.

connectionPoolIdleTimeoutDeprecatedstring
Formatduration

The time an idle connection can remain in the client's connection pool before being closed.

defaultCharsetstring
DefaultUTF-8

The default charset for the request.

enabledTcpExtendedKeepAlivebooleanstring
Defaulttrue

Whether to enable TCP Keep-Alive extended socket options (TCP_KEEPIDLE, TCP_KEEPINTERVAL, TCP_KEEPCOUNT).

Set to false when running on Windows workers, as these extended socket options are not supported by the Windows JDK and will cause connection failures.

followRedirectsbooleanstring
Defaulttrue

Whether redirects should be followed automatically.

logLevelDeprecatedstring
Possible Values
ALLTRACEDEBUGINFOWARNERROROFFNOT_SPECIFIED

The log level for the HTTP client.

logsarray
SubTypestring
Possible Values
REQUEST_HEADERSREQUEST_BODYRESPONSE_HEADERSRESPONSE_BODY

The enabled log.

maxContentLengthDeprecatedinteger

The maximum content length of the response.

proxy

The proxy configuration.

addressstring

The address of the proxy server.

passwordstring

The password for proxy authentication.

portintegerstring

The port of the proxy server.

typestring
DefaultDIRECT
Possible Values
DIRECTHTTPSOCKS

The type of proxy to use.

usernamestring

The username for proxy authentication.

proxyAddressDeprecatedstring

The address of the proxy server.

proxyPasswordDeprecatedstring

The password for proxy authentication.

proxyPortDeprecatedinteger

The port of the proxy server.

proxyTypeDeprecatedstring
Possible Values
DIRECTHTTPSOCKS

The type of proxy to use.

proxyUsernameDeprecatedstring

The username for proxy authentication.

readIdleTimeoutDeprecatedstring
Formatduration

The time allowed for a read connection to remain idle before closing it.

readTimeoutDeprecatedstring
Formatduration

The maximum time allowed for reading data from the server before failing.

ssl

The SSL request options

insecureTrustAllCertificatesbooleanstring

Whether to disable checking of the remote SSL certificate.

Only applies if no trust store is configured. Note: This makes the SSL connection insecure and should only be used for testing. If you are using a self-signed certificate, set up a trust store instead.

timeout

The timeout configuration.

connectTimeoutstring

The time allowed to establish a connection to the server before failing.

readIdleTimeoutstring
DefaultPT5M

The time allowed for a read connection to remain idle before closing it.

The query string parameter to use

Adds parameter to URI query. The parameter name and value are expected to be unescaped and may contain non ASCII characters. The value can be a string or a list of strings. This method will not override parameters already existing on uri and will add them as array.

Reference (ref) of the pluginDefaults to apply to this task.

List of all events received

Each event contains the json data or raw data field content from the SSE stream.. Will be null if JQ was provided.

Definitions
commentstring
dataobject
idstring
namestring
retrystring
Formatduration

Concatenated result from JQ extraction

If concatJqExpression was provided, this contains all extracted values concatenated into a single string. Will be null if no JQ was provided.

Total number of events received

Formaturi

The URL of the SSE endpoint

The number of events received