---
title: CI Pipelines
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > DDSQL Reference > Data Directory > CI Pipelines
---

# CI Pipelines

This dataset represents CI pipeline execution data collected by Datadog CI Visibility. It provides insights into your CI system's health and performance, including pipeline status, duration, queue time, and related Git metadata such as repository, branch, and commit information. This enables analysis of build efficiency, reliability, and developer productivity across your CI workflows.

```
dd.ci_pipelines
```
CI Pipeline Visibility Public Documentation 
{% icon name="icon-external-link" /%}
 CI Visibility Pipelines API Public Documentation 
{% icon name="icon-external-link" /%}
 
## Query Parameters

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

| Parameter        | Type            | Required | Description                                                                                                 |
| ---------------- | --------------- | -------- | ----------------------------------------------------------------------------------------------------------- |
| `columns`        | `array<string>` | Yes      | List of fields to return for each pipeline execution (e.g., 'timestamp', '@ci.pipeline.id', '@git.branch'). |
| `event_type`     | `string`        | No       | Optional event subtype; mapped to 'ci_level'. (e.g., event_type => 'pipeline',)                             |
| `filter`         | `string`        | No       | Optional EVP search string. For example: filter => '@ci.status:error AND @git.branch:main'.                 |
| `from_timestamp` | `string`        | No       | Lower time bound for the query; defaults to query context if omitted.                                       |
| `to_timestamp`   | `string`        | No       | Upper time bound for the query; defaults to query context if omitted.                                       |

## Example Queries

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

## Fields

| Title                                | ID                                            | Type            | Data Type     | Description                                                                                                                                |
| ------------------------------------ | --------------------------------------------- | --------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| Timestamp                            | timestamp                                     | core            | timestamp     | Time the CI job or pipeline event was recorded (e.g., 1758787144000).                                                                      |
| Duration (ns)                        | @duration                                     | event_attribute | int64         | Total duration of the pipeline in nanoseconds (e.g., 41000000000).                                                                         |
| CI Status                            | @ci.status                                    | event_attribute | string        | Status of the job or pipeline (e.g., success, error, skipped).                                                                             |
| CI Queue Time (s)                    | @ci.queue_time                                | event_attribute | int64         | Seconds spent waiting before execution (e.g., 0).                                                                                          |
| Is On Critical Path                  | @ci.on_critical_path                          | event_attribute | bool          | True if the job was part of the pipeline's critical path (e.g., true).                                                                     |
| CI Provider Name                     | @ci.provider.name                             | event_attribute | string        | Name of the CI provider (e.g., github, gitlab).                                                                                            |
| CI Provider Instance                 | @ci.provider.instance                         | event_attribute | string        | Provider instance or CI platform (e.g., github-actions).                                                                                   |
| CI Pipeline ID                       | @ci.pipeline.id                               | event_attribute | string        | CI provider's unique identifier for the pipeline run (e.g., 18000893621-1).                                                                |
| CI Pipeline Name                     | @ci.pipeline.name                             | event_attribute | string        | Pipeline or workflow file name (e.g., .github/workflows/claude.yml).                                                                       |
| CI Pipeline Status                   | @ci.pipeline.status                           | event_attribute | string        | Overall status of the pipeline run (e.g., skipped).                                                                                        |
| CI Job ID                            | @ci.job.id                                    | event_attribute | string        | CI provider job ID (e.g., skipped).                                                                                                        |
| CI Job Name                          | @ci.job.name                                  | event_attribute | string        | Name of the CI job executed (e.g., claude-code-action).                                                                                    |
| CI Job URL                           | @ci.job.url                                   | event_attribute | string        | URL linking directly to the job's provider page (e.g., https://github.com/.../job/51209691834).                                            |
| CI Node Labels                       | @ci.node.labels                               | event_attribute | array<string> | Labels assigned to the job node (e.g., ['ubuntu-latest']).                                                                                 |
| CI Pipeline Correlation ID           | @ci.pipeline_correlation_id                   | event_attribute | string        | Correlation ID shared across events for this pipeline run (e.g., 6dac6e179885eaf1).                                                        |
| CI Job Correlation ID                | @ci.job_correlation_id                        | event_attribute | string        | Correlation ID for this specific job (e.g., ce4e44f218c2700e).                                                                             |
| Critical Path Execution Time (s)     | @ci.pipeline.critical_path.execution_time     | event_attribute | int64         | Seconds spent running critical path jobs or stages (e.g., 28).                                                                             |
| Critical Path Queue Time (s)         | @ci.pipeline.critical_path.queue_time         | event_attribute | int64         | Seconds critical path jobs spent waiting for a runner (e.g., 28).                                                                          |
| Critical Path Uncategorized Time (s) | @ci.pipeline.critical_path.uncategorized_time | event_attribute | int64         | Seconds on the critical path not assigned to a known phase (e.g., 28).                                                                     |
| Critical Path Wait Time (s)          | @ci.pipeline.critical_path.wait_time          | event_attribute | int64         | Seconds critical path jobs waited for dependencies to finish (e.g., 28).                                                                   |
| Critical Path Exclusive Time (s)     | @ci.critical_path.exclusive_time              | event_attribute | int64         | Seconds exclusively spent on this job within the critical path (e.g., 28).                                                                 |
| Git Branch                           | @git.branch                                   | event_attribute | string        | Branch associated with this run (e.g., fbryden/build_suppressions_sds_context).                                                            |
| Git Default Branch                   | @git.default_branch                           | event_attribute | string        | Default repository branch (e.g., main).                                                                                                    |
| Git Commit SHA                       | @git.commit.sha                               | event_attribute | string        | Commit SHA for the triggering commit (e.g., dffcc683e2f78dad9228213fe2566dc3413b6b00).                                                     |
| Git Commit Message                   | @git.commit.message                           | event_attribute | string        | Commit message for the triggering commit (e.g., Fix casing of suppressions).                                                               |
| Git Commit Author Name               | @git.commit.author.name                       | event_attribute | string        | Author's name of the triggering commit (e.g., Frank Bryden).                                                                               |
| Git Commit Author Email              | @git.commit.author.email                      | event_attribute | string        | Author's email of the triggering commit (e.g., frank.bryden@datadoghq.com).                                                                |
| Git Commit Committer Name            | @git.commit.committer.name                    | event_attribute | string        | Committer's name of the triggering commit (e.g., Frank Bryden).                                                                            |
| Git Commit Committer Email           | @git.commit.committer.email                   | event_attribute | string        | Committer's email of the triggering commit (e.g., frank.bryden@datadoghq.com).                                                             |
| Git Commit Committer Date            | @git.commit.committer.date                    | event_attribute | string        | Commit time as a date string (e.g., 2025-09-24T16:10:18Z).                                                                                 |
| Git Commit Committer Timestamp       | @git.commit.committer.date_timestamp          | event_attribute | timestamp     | Commit time as numeric timestamp (e.g., 1758730218000).                                                                                    |
| Git Repository URL                   | @git.repository_url                           | event_attribute | string        | Repository URL (e.g., https://github.com/DataDog/dd-source.git).                                                                           |
| Git Repository Host                  | @git.repository.host                          | event_attribute | string        | Repository host name (e.g., github.com).                                                                                                   |
| Git Repository Name                  | @git.repository.name                          | event_attribute | string        | Repository name with owner (e.g., DataDog/dd-source).                                                                                      |
| Event ID                             | id                                            | core            | string        | A unique identifier for the event.                                                                                                         |
| Discovery Timestamp                  | discovery_timestamp                           | core            | int64         | The time when Datadog first received the event (milliseconds since Unix epoch). May differ from timestamp if there was an ingestion delay. |
| Tiebreaker                           | tiebreaker                                    | core            | int64         | A value used to establish deterministic ordering among events that share the same timestamp.                                               |
| Ingest Size                          | ingest_size_in_bytes                          | core            | int64         | The size of the event payload in bytes at the time of ingestion, before any processing.                                                    |
| Random Draw                          | random_draw                                   | core            | float64       | A random value between 0.0 and 1.0 assigned at ingestion, useful for consistent sampling across queries.                                   |
