This dataset represents CI test execution data collected by Datadog CI Visibility Test Optimization. It provides insights into test run status, duration, test-level metadata (framework, parameters, ITR, coverage), and related CI and Git context. This enables granular analysis of testing trends, flakiness, and efficiency across your CI workflows.

dd.ci_tests

Getting Started With Test Optimization

CI Visibility Public Documentation

Query Parameters

This dataset uses a polymorphic table function. You must specify parameters when querying.

ParameterTypeRequiredDescription
columnsarray<string>YesList of fields to return for each test execution (e.g., ’timestamp’, ‘@ci.pipeline.id’, ‘@test.status’).
event_typestringNoOptional event subtype; mapped to ’test_level’. (e.g., event_type => ‘suite’,)
filterstringNoOptional EVP search string. For example: filter => ‘@test.status:(pass OR fail) AND @git.branch:main’.
from_timestampstringNoLower time bound for the query; defaults to query context if omitted.
to_timestampstringNoUpper time bound for the query; defaults to query context if omitted.

Example Queries

-- Fetch recent failed pipeline runs with basic repo context SELECT * FROM dd.ci_tests(
  columns => ARRAY[
    'timestamp',
    '@ci.pipeline.id',
    '@ci.pipeline.name',
    '@test.status',
    '@git.repository_url',
    '@git.branch',
    '@git.commit.sha'
  ],
  event_type => 'test',
  filter => '@test.status:(pass OR fail) AND @git.branch:main'
  ) AS (
    ts TIMESTAMP,
    pipeline_id VARCHAR,
    pipeline_name VARCHAR,
    status VARCHAR,
    repository_url VARCHAR,
    branch VARCHAR,
    commit_sha VARCHAR
);

Fields

TitleIDTypeData TypeDescription
TimestamptimestampcoretimestampTime the CI test event was recorded (e.g., 1758787144000).
Duration (ns)@durationevent_attributeint64Total duration of the test run in nanoseconds (e.g., 41000000000).
Test Framework@test.frameworkevent_attributestringTesting framework used to run the tests (e.g., jest).
Test Framework Version@test.framework_versionevent_attributestringVersion of the testing framework in use (e.g., 29.7.0).
Test Command@test.commandevent_attributestringFull command or script used to execute the test run (e.g., 'jest test-unit --maxWorkers=12').
Test Status@test.statusevent_attributestringResult of the test execution (e.g., pass, fail).
Test Service@test.serviceevent_attributestringThe tested service or environment (e.g., web-ui-tests-staging).
Test Has Parameters@test.has_parametersevent_attributeboolIndicates whether the test was parameterized (e.g., true).
Test Management Enabled@test.test_management.enabledevent_attributeboolIndicates whether test management integration is enabled (e.g., false).
Code Coverage Enabled@test.code_coverage.enabledevent_attributeboolIndicates whether code coverage collection was enabled during the test run (e.g., true).
ITR Tests Skipping Enabled@test.itr.tests_skipping.enabledevent_attributeboolIndicates whether ITR test-skipping optimization was active (e.g., true).
ITR Tests Skipped@test.itr.tests_skipping.tests_skippedevent_attributeboolIndicates whether any tests were skipped by ITR (e.g., false).
ITR Tests Skipped Count@test.itr.tests_skipping.countevent_attributeint64Number of tests skipped by ITR (e.g., 0).
CI Provider Name@ci.provider.nameevent_attributestringName of the CI provider (e.g., github, gitlab).
CI Pipeline ID@ci.pipeline.idevent_attributestringCI provider’s unique identifier for the pipeline run (e.g., 18000893621-1).
CI Pipeline Name@ci.pipeline.nameevent_attributestringPipeline or workflow file name (e.g., .github/workflows/claude.yml).
CI Pipeline Number@ci.pipeline.numberevent_attributeint64CI provider’s sequential run number for the pipeline (e.g., 3760859).
CI Job Name@ci.job.nameevent_attributestringName of the CI job executed (e.g., claude-code-action).
CI Job URL@ci.job.urlevent_attributestringURL linking directly to the job’s provider page (e.g., https://github.com/.../job/51209691834).
CI Node Labels@ci.node.labelsevent_attributearray<string>Labels assigned to the job node (e.g., ['arch:amd64', 'specific:true']).
Git Branch@git.branchevent_attributestringBranch associated with this run (e.g., fbryden/build_suppressions_sds_context).
Git Default Branch@git.default_branchevent_attributestringDefault repository branch (e.g., main).
Git Commit SHA@git.commit.shaevent_attributestringCommit SHA for the triggering commit (e.g., dffcc683e2f78dad9228213fe2566dc3413b6b00).
Git Commit Message@git.commit.messageevent_attributestringCommit message for the triggering commit (e.g., Fix casing of suppressions).
Git Commit Author Name@git.commit.author.nameevent_attributestringAuthor’s name of the triggering commit (e.g., Frank Bryden).
Git Commit Author Email@git.commit.author.emailevent_attributestringAuthor’s email of the triggering commit (e.g., frank.bryden@datadoghq.com).
Git Commit Committer Name@git.commit.committer.nameevent_attributestringCommitter’s name of the triggering commit (e.g., Frank Bryden).
Git Commit Committer Email@git.commit.committer.emailevent_attributestringCommitter’s email of the triggering commit (e.g., frank.bryden@datadoghq.com).
Git Commit Committer Date@git.commit.committer.dateevent_attributestringCommit time as a date string (e.g., 2025-09-24T16:10:18Z).
Git Commit Committer Timestamp@git.commit.committer.date_timestampevent_attributetimestampCommit time as numeric timestamp (e.g., 1758730218000).
Git Repository URL@git.repository_urlevent_attributestringRepository URL (e.g., https://github.com/DataDog/dd-source.git).
Git Repository Host@git.repository.hostevent_attributestringRepository host name (e.g., github.com).
Git Repository Name@git.repository.nameevent_attributestringRepository name with owner (e.g., DataDog/examplerepo).
Event IDidcorestringA unique identifier for the event.
Discovery Timestampdiscovery_timestampcoreint64The time when Datadog first received the event (milliseconds since Unix epoch). May differ from timestamp if there was an ingestion delay.
Tiebreakertiebreakercoreint64A value used to establish deterministic ordering among events that share the same timestamp.
Ingest Sizeingest_size_in_bytescoreint64The size of the event payload in bytes at the time of ingestion, before any processing.
Random Drawrandom_drawcorefloat64A random value between 0.0 and 1.0 assigned at ingestion, useful for consistent sampling across queries.