GitLab · Schema

GitLab Pipeline

A GitLab CI/CD pipeline that runs automated jobs defined in a .gitlab-ci.yml configuration file.

CodePlatformSoftware DevelopmentSource Control

Properties

Name Type Description
id integer The unique identifier of the pipeline.
iid integer The project-scoped sequential ID of the pipeline.
project_id integer The ID of the project the pipeline belongs to.
name stringnull The user-defined name of the pipeline.
status string The current execution status of the pipeline.
source string The source that triggered the pipeline.
ref string The branch name, tag name, or commit SHA the pipeline runs on.
sha string The full SHA of the commit the pipeline runs on.
tag boolean Whether the pipeline was triggered by a tag push.
yaml_errors stringnull YAML configuration validation errors, if any.
user object
web_url string The URL to view the pipeline in a browser.
before_sha string The SHA of the commit before the pipeline was triggered.
duration integernull The total duration of the pipeline in seconds.
queued_duration numbernull The time in seconds the pipeline spent in the queue before starting.
coverage stringnull The code coverage percentage reported by the pipeline.
archived boolean Whether the pipeline has been archived.
created_at string The date and time the pipeline was created.
updated_at string The date and time the pipeline was last updated.
started_at stringnull The date and time the pipeline started execution.
finished_at stringnull The date and time the pipeline finished execution.
committed_at stringnull The date and time of the commit that triggered the pipeline.
View JSON Schema on GitHub

JSON Schema

gitlab-pipeline-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://gitlab.com/schemas/gitlab/pipeline.json",
  "title": "GitLab Pipeline",
  "description": "A GitLab CI/CD pipeline that runs automated jobs defined in a .gitlab-ci.yml configuration file.",
  "type": "object",
  "required": ["id", "project_id", "status", "ref", "sha"],
  "properties": {
    "id": {
      "type": "integer",
      "description": "The unique identifier of the pipeline."
    },
    "iid": {
      "type": "integer",
      "description": "The project-scoped sequential ID of the pipeline."
    },
    "project_id": {
      "type": "integer",
      "description": "The ID of the project the pipeline belongs to."
    },
    "name": {
      "type": ["string", "null"],
      "description": "The user-defined name of the pipeline."
    },
    "status": {
      "type": "string",
      "enum": ["created", "waiting_for_resource", "preparing", "pending", "running", "success", "failed", "canceled", "skipped", "manual", "scheduled"],
      "description": "The current execution status of the pipeline."
    },
    "source": {
      "type": "string",
      "enum": ["push", "web", "trigger", "schedule", "api", "external", "pipeline", "chat", "webide", "merge_request_event", "external_pull_request_event", "parent_pipeline", "ondemand_dast_scan", "ondemand_dast_validation"],
      "description": "The source that triggered the pipeline."
    },
    "ref": {
      "type": "string",
      "description": "The branch name, tag name, or commit SHA the pipeline runs on."
    },
    "sha": {
      "type": "string",
      "description": "The full SHA of the commit the pipeline runs on.",
      "pattern": "^[0-9a-f]{40}$"
    },
    "tag": {
      "type": "boolean",
      "description": "Whether the pipeline was triggered by a tag push."
    },
    "yaml_errors": {
      "type": ["string", "null"],
      "description": "YAML configuration validation errors, if any."
    },
    "user": {
      "$ref": "#/$defs/UserSummary"
    },
    "web_url": {
      "type": "string",
      "format": "uri",
      "description": "The URL to view the pipeline in a browser."
    },
    "before_sha": {
      "type": "string",
      "description": "The SHA of the commit before the pipeline was triggered."
    },
    "duration": {
      "type": ["integer", "null"],
      "minimum": 0,
      "description": "The total duration of the pipeline in seconds."
    },
    "queued_duration": {
      "type": ["number", "null"],
      "minimum": 0,
      "description": "The time in seconds the pipeline spent in the queue before starting."
    },
    "coverage": {
      "type": ["string", "null"],
      "description": "The code coverage percentage reported by the pipeline."
    },
    "archived": {
      "type": "boolean",
      "description": "Whether the pipeline has been archived."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the pipeline was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the pipeline was last updated."
    },
    "started_at": {
      "type": ["string", "null"],
      "format": "date-time",
      "description": "The date and time the pipeline started execution."
    },
    "finished_at": {
      "type": ["string", "null"],
      "format": "date-time",
      "description": "The date and time the pipeline finished execution."
    },
    "committed_at": {
      "type": ["string", "null"],
      "format": "date-time",
      "description": "The date and time of the commit that triggered the pipeline."
    }
  },
  "$defs": {
    "UserSummary": {
      "type": "object",
      "description": "A simplified representation of the GitLab user who triggered the pipeline.",
      "required": ["id", "username"],
      "properties": {
        "id": {
          "type": "integer",
          "description": "The unique identifier of the user."
        },
        "username": {
          "type": "string",
          "description": "The username of the user."
        },
        "name": {
          "type": "string",
          "description": "The display name of the user."
        },
        "state": {
          "type": "string",
          "enum": ["active", "blocked", "deactivated"],
          "description": "The current state of the user account."
        },
        "avatar_url": {
          "type": ["string", "null"],
          "format": "uri",
          "description": "URL to the user's avatar image."
        },
        "web_url": {
          "type": "string",
          "format": "uri",
          "description": "URL to the user's GitLab profile page."
        }
      }
    }
  }
}