Clever Cloud Trigger

Clever Cloud Trigger

Certified

Trigger when a Clever Cloud application deployment reaches a target state

Polls the deployment list for a given application at each interval. Fires an execution when a DEPLOY action deployment transitions to the configured target state.

Only DEPLOY action records are considered. UNDEPLOY records (e.g. from scaling or moderation) are intentionally ignored so the trigger does not fire for infrastructure events unrelated to a code deployment.

Dedup is timestamp-based: only deployments whose date (epoch milliseconds) is strictly after the previous evaluation cutoff are considered, preventing re-fires on already-seen deployments.

When organisationId is omitted, the personal account endpoint (/self) is used.

Real state values from the Clever Cloud API: OK (success), FAIL (error), CANCELLED, WIP (in-progress).

yaml
type: io.kestra.plugin.clevercloud.deployments.Trigger

Fire when a deployment succeeds

yaml
id: on_deploy_ok
namespace: company.team

triggers:
  - id: watch_deploy
    type: io.kestra.plugin.clevercloud.deployments.Trigger
    apiToken: "{{ secret('CC_API_TOKEN') }}"
    organisationId: "orga_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    applicationId: "app_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    targetState: OK
    interval: PT1M

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "Deployment {{ trigger.deploymentId }} succeeded (commit {{ trigger.commit }})"

Fire when a personal account deployment succeeds

yaml
id: on_personal_deploy_ok
namespace: company.team

triggers:
  - id: watch_deploy
    type: io.kestra.plugin.clevercloud.deployments.Trigger
    apiToken: "{{ secret('CC_API_TOKEN') }}"
    applicationId: "app_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    targetState: OK
    interval: PT1M

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "Deployment {{ trigger.deploymentId }} succeeded (commit {{ trigger.commit }})"
Properties

API token

Bearer token for the Clever Cloud API. Store as a Kestra secret and reference with {{ secret('CC_API_TOKEN') }}.

Application ID to watch

Possible Values
WIPOKFAILCANCELLED

Target deployment state that causes the trigger to fire

Accepts: OK (successful deploy), FAIL (failed deploy), CANCELLED. The API returns deployments newest-first. Bursts of more than maxDeployments deployments between two polls may be missed.

Defaultfalse

Specifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.

DefaultPT1M
Formatduration

How often to check for new deployments

ISO-8601 duration. Minimum PT30S is recommended to avoid overloading the API. Defaults to PT1M.

Default25

Maximum number of deployments to fetch per poll

The API returns results newest-first. Increase this value if deployments may arrive faster than the poll interval. Bursts beyond this limit between polls may be missed. Defaults to 25.

HTTP client options

Optional HttpConfiguration applied to every Clever Cloud API call, including timeouts and proxy settings.

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*object
passwordstring

The password for HTTP basic authentication.

usernamestring

The username for HTTP basic authentication.

type*object
tokenstring

The token for bearer token authentication.

type*object
passwordstring

The password for HTTP Digest authentication.

usernamestring

The username for HTTP Digest authentication.

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.

logsarray
SubTypestring
Possible Values
REQUEST_HEADERSREQUEST_BODYRESPONSE_HEADERSRESPONSE_BODY

The enabled log.

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.

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.

Organisation ID

When omitted, the personal account endpoint (/self) is used instead.

SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED

List of execution states after which a trigger should be stopped (a.k.a. disabled).

Defaulttrue

A condition that determines whether the trigger should run.

A Pebble expression evaluated at trigger time. The trigger fires only when the expression evaluates to a truthy value (true, a non-empty string, a non-zero number). Use this to gate trigger execution on dynamic runtime values such as execution labels, flow variables, or environment conditions.

Git commit SHA associated with this deployment

Deployment ID that matched the target state

State of the deployment when the trigger fired