Google Cloud Build · Schema

Google Cloud Build Build

Schema for a Cloud Build build resource, representing a CI/CD build execution on Google Cloud infrastructure.

Build AutomationCI/CDContainer BuildContinuous DeliveryContinuous IntegrationDevOps

Properties

Name Type Description
id string Unique identifier of the build
projectId string ID of the project
status string Status of the build
source object The location of the source files to build
steps array The operations to be performed on the workspace
images array List of images to be pushed upon successful build completion
timeout string Amount of time that this build should be allowed to run (e.g. 600s)
substitutions object Substitution variables for the build
tags array Tags for organizing builds
logUrl string URL to logs for this build in Cloud Console
createTime string Time at which the build was created
startTime string Time at which execution of the build was started
finishTime string Time at which execution of the build was finished
View JSON Schema on GitHub

JSON Schema

google-cloud-build-build-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://cloud.google.com/schemas/cloudbuild/build.json",
  "title": "Google Cloud Build Build",
  "description": "Schema for a Cloud Build build resource, representing a CI/CD build execution on Google Cloud infrastructure.",
  "type": "object",
  "required": ["steps"],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier of the build"
    },
    "projectId": {
      "type": "string",
      "description": "ID of the project"
    },
    "status": {
      "type": "string",
      "description": "Status of the build",
      "enum": ["STATUS_UNKNOWN", "PENDING", "QUEUED", "WORKING", "SUCCESS", "FAILURE", "INTERNAL_ERROR", "TIMEOUT", "CANCELLED", "EXPIRED"]
    },
    "source": {
      "$ref": "#/$defs/Source",
      "description": "The location of the source files to build"
    },
    "steps": {
      "type": "array",
      "description": "The operations to be performed on the workspace",
      "items": {
        "$ref": "#/$defs/BuildStep"
      },
      "minItems": 1
    },
    "images": {
      "type": "array",
      "description": "List of images to be pushed upon successful build completion",
      "items": {
        "type": "string"
      }
    },
    "timeout": {
      "type": "string",
      "description": "Amount of time that this build should be allowed to run (e.g. 600s)",
      "pattern": "^[0-9]+s$"
    },
    "substitutions": {
      "type": "object",
      "description": "Substitution variables for the build",
      "additionalProperties": {
        "type": "string"
      }
    },
    "tags": {
      "type": "array",
      "description": "Tags for organizing builds",
      "items": {
        "type": "string"
      }
    },
    "logUrl": {
      "type": "string",
      "format": "uri",
      "description": "URL to logs for this build in Cloud Console"
    },
    "createTime": {
      "type": "string",
      "format": "date-time",
      "description": "Time at which the build was created"
    },
    "startTime": {
      "type": "string",
      "format": "date-time",
      "description": "Time at which execution of the build was started"
    },
    "finishTime": {
      "type": "string",
      "format": "date-time",
      "description": "Time at which execution of the build was finished"
    }
  },
  "$defs": {
    "Source": {
      "type": "object",
      "description": "Location of the source in a supported storage service",
      "properties": {
        "storageSource": {
          "type": "object",
          "description": "Source from Cloud Storage",
          "properties": {
            "bucket": {
              "type": "string",
              "description": "Cloud Storage bucket containing the source"
            },
            "object": {
              "type": "string",
              "description": "Cloud Storage object containing the source"
            },
            "generation": {
              "type": "string",
              "description": "Cloud Storage generation for the object"
            }
          }
        },
        "repoSource": {
          "type": "object",
          "description": "Source from a Cloud Source Repository",
          "properties": {
            "projectId": {
              "type": "string"
            },
            "repoName": {
              "type": "string"
            },
            "branchName": {
              "type": "string"
            },
            "tagName": {
              "type": "string"
            },
            "commitSha": {
              "type": "string"
            }
          }
        }
      }
    },
    "BuildStep": {
      "type": "object",
      "description": "A step in the build pipeline",
      "required": ["name"],
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the container image for this build step"
        },
        "args": {
          "type": "array",
          "description": "Command-line arguments to the step's container",
          "items": {
            "type": "string"
          }
        },
        "dir": {
          "type": "string",
          "description": "Working directory for the step"
        },
        "id": {
          "type": "string",
          "description": "Unique identifier for the build step"
        },
        "waitFor": {
          "type": "array",
          "description": "IDs of steps that this step depends on",
          "items": {
            "type": "string"
          }
        },
        "entrypoint": {
          "type": "string",
          "description": "Entrypoint to use for the step's container"
        },
        "env": {
          "type": "array",
          "description": "Environment variables for the step",
          "items": {
            "type": "string"
          }
        },
        "timeout": {
          "type": "string",
          "description": "Timeout for this build step"
        }
      }
    }
  }
}