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. |
JSON Schema
{
"$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."
}
}
}
}
}