Represents a CI/CD pipeline run in a GitLab project. Each pipeline is a collection of jobs triggered by a branch push, merge request, pipeline schedule, or manual API call. The pipeline node captures the trigger source, the branch/ref it ran on, the merged .gitlab-ci.yml configuration, and timing information.
The merged gitlab-ci.yml property stores the fully-resolved CI configuration for the pipeline, which is useful for identifying injected steps, credential accesses, and runner interactions.
| Property Name | Data Type | Description |
|---|---|---|
| name | string | Display name (e.g., MyProject #42) |
| status | string | Pipeline status: success, failed, running, pending, canceled, skipped |
| source | string | What triggered the pipeline: push, schedule, api, web, merge_request_event, etc. |
| branch | string | Branch/ref name the pipeline ran against |
| sha | string | Full commit SHA the pipeline ran on |
| tag | string | Tag name if triggered by a tag push |
| web_url | string | URL to the pipeline in the GitLab UI |
| created_at | datetime | When the pipeline was created |
| updated_at | datetime | When the pipeline was last updated |
| started_at | datetime | When the pipeline started executing |
| finished_at | datetime | When the pipeline finished |
| duration | integer | Total pipeline duration in seconds |
| gitlab-ci.yml | string | Fully merged CI/CD configuration YAML for this pipeline run |
flowchart TD
GL_Project[fa:fa-diagram-project GL_Project]
GL_Pipeline[fa:fa-angles-right GL_Pipeline]
GL_Branch[fa:fa-code-branch GL_Branch]
GL_PipelineSchedule[fa:fa-clock-rotate-left GL_PipelineSchedule]
GL_Job[fa:fa-gear GL_Job]
GL_User[fa:fa-user GL_User]
GL_Project -.->|GL_HasPipeline| GL_Pipeline
GL_Branch -.->|GL_Triggers| GL_Pipeline
GL_PipelineSchedule -.->|GL_Triggers| GL_Pipeline
GL_Pipeline -.->|GL_RunsOn| GL_Branch
GL_Pipeline -.->|GL_HasJob| GL_Job
GL_User -.->|GL_Created| GL_Pipeline