Software Development Life Cycle · Schema
CI/CD Pipeline
Represents a Continuous Integration and Delivery pipeline definition including stages, steps, triggers, and configuration.
Development ProcessProject ManagementSDLCSoftware EngineeringDevOpsCI/CD
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique identifier for the pipeline. |
| name | string | Human-readable name of the pipeline. |
| description | string | Purpose and scope of this pipeline. |
| repository | string | URL of the source code repository this pipeline operates on. |
| branch | string | Target branch that triggers this pipeline by default. |
| triggers | array | Events that automatically trigger this pipeline. |
| stages | array | Ordered list of stages in the pipeline. |
| status | string | Current execution status of the most recent pipeline run. |
| created | string | Timestamp when the pipeline definition was created. |
| modified | string | Timestamp when the pipeline definition was last modified. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.com/schemas/software-development-life-cycle/pipeline",
"title": "CI/CD Pipeline",
"description": "Represents a Continuous Integration and Delivery pipeline definition including stages, steps, triggers, and configuration.",
"type": "object",
"required": ["id", "name", "stages"],
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the pipeline."
},
"name": {
"type": "string",
"description": "Human-readable name of the pipeline."
},
"description": {
"type": "string",
"description": "Purpose and scope of this pipeline."
},
"repository": {
"type": "string",
"format": "uri",
"description": "URL of the source code repository this pipeline operates on."
},
"branch": {
"type": "string",
"description": "Target branch that triggers this pipeline by default.",
"default": "main"
},
"triggers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["push", "pull-request", "tag", "schedule", "manual"],
"description": "Event that triggers pipeline execution."
},
"filter": {
"type": "string",
"description": "Pattern filter applied to the trigger event."
}
}
},
"description": "Events that automatically trigger this pipeline."
},
"stages": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["name", "steps"],
"properties": {
"name": {
"type": "string",
"description": "Name of the pipeline stage."
},
"steps": {
"type": "array",
"items": {
"type": "object",
"required": ["name", "command"],
"properties": {
"name": {
"type": "string",
"description": "Name of the step."
},
"command": {
"type": "string",
"description": "Command or action to execute."
},
"environment": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Environment variables for this step."
}
}
}
}
}
},
"description": "Ordered list of stages in the pipeline."
},
"status": {
"type": "string",
"enum": ["pending", "running", "succeeded", "failed", "cancelled"],
"description": "Current execution status of the most recent pipeline run."
},
"created": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the pipeline definition was created."
},
"modified": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the pipeline definition was last modified."
}
},
"additionalProperties": false
}