CDEvents Integration
Receive CDEvents directly, without any transformer, from any producer.
- A tool that natively emits CDEvents, an agent or a proxy (like another cdviz-collector) can POST them to the collector's webhook.
- CDEvents v0.3, v0.4 and v0.5 are accepted, and normalized to a single version at ingestion.
| From event | CDEvents |
|---|---|
| dev.cdevents.artifact.* | artifact.{published, signed, packaged, downloaded, deleted} |
| dev.cdevents.branch.* | branch.{created, deleted} |
| dev.cdevents.change.* | change.{created, updated, reviewed, merged, abandoned} |
| dev.cdevents.repository.* | repository.{created, modified, deleted} |
| dev.cdevents.pipelinerun.* | pipelineRun.{queued, started, finished} |
| dev.cdevents.taskrun.* | taskRun.{started, finished} |
| dev.cdevents.testsuiterun.* | testSuiteRun.{queued, started, finished} |
| dev.cdevents.service.* | service.{deployed, upgraded, rolledback, removed, published} |
| dev.cdevents.environment.* | environment.{created, modified, deleted} |
| dev.cdevents.incident.* | incident.{detected, reported, resolved} |
| dev.cdevents.ticket.* | ticket.{created, updated, closed} |
| dev.cdevents.{build,testcaserun,testoutput}.* | stored as received (no coverage-matrix column) |
Who Can Send
Any producer able to POST JSON to an HTTP endpoint — no transformer is involved, the payload is already a CDEvent:
- A tool that natively emits CDEvents — either built-in, or configured to render CDEvents from its own templating (see the native CDEvents templates of ArgoCD notifications), or built with one of the CDEvents SDKs.
- An agent or a proxy — another
cdviz-collectorforwarding its stream with the HTTP sink, or any gateway that already speaks CDEvents. - A CI job —
cdviz-collector sendfor a hand-crafted event, orsend --runto wrap a command as ataskRun.
For a tool that does not emit CDEvents, transform its payload instead: see the existing integrations, or Custom Integration.
Setting Up cdviz-collector's Side
A webhook source with no transformer_refs:
[sources.cdevents]
enabled = true
[sources.cdevents.extractor]
type = "webhook"
id = "000-cdevents"Producers then POST to https://your-cdviz-collector.example.com/webhook/000-cdevents.
WARNING
An open endpoint accepts events from anyone. Protect it with an API key or an HMAC signature — see Header Validation; on the producer side, see Header Authentication.
CDEvents Versions
Producers rarely agree on a version: an integration built before CDEvents v0.5 emits v0.3 or v0.4. All of them are accepted, and normalized at ingestion by the global pipeline chain so that the database holds a single version:
[pipeline]
transformer_refs = ["cdevents_v0_3_to_v0_4", "cdevents_v0_4_to_v0_5"]Both transformers are idempotent — an already-current event passes through unchanged. See CDEvents Version Conversion for the full configuration and the CLI conversion of existing files.
On CDviz Cloud
This is the path CDviz Cloud exposes: a webhook URL to configure in your producer, no self-hosted component to run. See CDviz Cloud.