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.
View JSON Schema on GitHub

JSON Schema

software-development-life-cycle-pipeline-schema.json Raw ↑
{
  "$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
}