Wrap a test run

June 3, 2026 · View on GitHub

CDviz Logo

cdviz-collector

CI GitHub Release Docker Crates.io License

keywords: cdevents · sdlc · cicd · observability · devops

A service & CLI to collect SDLC/CI/CD events from any source and dispatch them as CDEvents.

Documentation | Quick Start | Installation


Features

Sources

  • Push (inbound): HTTP webhook, HTTP SSE, Kafka, NATS
  • Pull (polling): File system, S3, HTTP polling (any REST/JSON API — Jenkins, Jira, custom web APIs, …)

Sinks: HTTP webhook · HTTP SSE · File system · Kafka · NATS · PostgreSQL · ClickHouse

Parsers: JSON · JSONL · CSV · XML · YAML · TAP · text / text_line

Transformations: VRL (Vector Remap Language) — reshape, filter, split, enrich events before dispatch

Three CLI modes: connect (long-running server) · send (one-shot or wrap a command) · transform (batch offline)

Use Cases

  • Capture CI/CD pipeline events from GitHub Actions, GitLab CI, Jenkins → normalized CDEvents
  • Wrap test commands — emit testsuiterun started/finished events with JUnit/TAP/SARIF results
  • Poll REST APIs (Jenkins, Jira, any HTTP endpoint) and forward changes as CDEvents
  • Bridge message streams — consume Kafka/NATS topics, re-publish as CDEvents to PostgreSQL or ClickHouse
  • Observe deployments & artifacts — track environment changes and artifact publications
  • Feed CDviz dashboards with normalized SDLC telemetry

Installation

  • Pre-built binaries for Linux and macOS → GitHub Releases
  • Docker imageghcr.io/cdviz-dev/cdviz-collector
  • Helm chart for Kubernetes
  • Cargocargo install cdviz-collector
  • Misemise install "github:cdviz-dev/cdviz-collector"

See the Installation Guide.

Getting Started

See the Quick Start Guide for a 5-minute walkthrough.

Architecture

Pipeline: sources → in-memory queue → multiple sinks (fan-out).

Archi Overview

Configuration

TOML files with environment variable overrides:

See the Configuration Guide.

Usage

connect — Run as a Service

Long-running server connecting sources to sinks.

cdviz-collector connect --config cdviz-collector.toml

See connect docs.

send — One-Shot or Wrap a Command

Send JSON directly to a sink, or wrap a command to emit lifecycle CDEvents automatically.

# Send raw JSON
cdviz-collector send --url https://api.example.com/webhook --data '{"test": "value"}'

# Wrap a test run — emits testsuiterun started + finished CDEvents with JUnit results
cdviz-collector send --run testsuiterun-junit -- pytest --junitxml=report.xml

# Wrap any task — emits taskrun started + finished CDEvents
cdviz-collector send --run taskrun -- ./deploy.sh

--run captures exit code and output artifacts, then emits lifecycle CDEvents (started → finished). Built-in run types: testsuiterun-junit, testsuiterun-tap, taskrun.

See send docs.

transform — Batch File Transformation

Offline transformation of local files using configured VRL transformers.

cdviz-collector transform --input ./input --output ./output --transformer-refs github_events

See transform docs.


For all options: cdviz-collector --help or cdviz-collector <command> --help.

ProjectRole
CDvizSDLC observability dashboard — consumes CDEvents produced by this collector
send-cdeventsGitHub Action wrapping cdviz-collector send
CDEvents specCloudEvents-based open standard for SDLC events
VRLTransformation language used by transformers

AI Assistant Skill

Install the agent skill for help configuring pipelines, writing VRL transformers, mapping CDEvent types, and debugging. Works with Claude Code, GitHub Copilot, Cursor, and other supported agents.

npx skills add cdviz-dev/cdviz-collector

In Claude Code, invoke with /cdviz-collector.

Development

Uses mise for task management:

mise install          # Setup environment
mise run build        # Build project
mise run test         # Run tests
mise run lint         # Run linting
mise run ci           # Full CI pipeline

See CONTRIBUTING.md for guidelines.

License

Apache Software License 2.0 (ASL-2.0). Commercial support: https://cdviz.dev.

  • Built-in scripts (this repo): Apache-2.0
  • User-provided scripts (loaded at runtime): any license

See LICENSING.md for exceptions.

Contributing

Contributions welcome — see Contributing Guide and CLA.

Downloads

Download History - Last 60 Days (Daily) Download History - All Time (Weekly)