schema

package
v0.9.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2025 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Overview

Package gitlab was largely generated by an AI from the schema There doesn't seem to be a reliable way of generating types (go structs) from the CI schema

tried quicktype and

Index

Constants

This section is empty.

Variables

View Source
var ErrMustIncludeSubComponents = errors.New("must include at least one")

Functions

This section is empty.

Types

type AfterScriptElement added in v0.3.6

type AfterScriptElement struct {
	Pipe   *Pipe
	String *string
}

List of commands to execute after the step succeeds or fails.

type Arch added in v0.3.6

type Arch string

Architecture type used to run the step.

const (
	Arm Arch = "arm"
	X86 Arch = "x86"
)

type Artifacts added in v0.3.6

type Artifacts struct {
	ArtifactsClass *ArtifactsClass
	StringArray    []string
}

type ArtifactsClass added in v0.3.6

type ArtifactsClass struct {
	// Enables downloading of all available artifacts at the start of a step.
	Download *bool    `yaml:"download,omitempty"`
	Paths    []string `yaml:"paths,omitempty"`
}

type Bitbucket added in v0.3.6

type Bitbucket struct {
	Clone *CloneRepositorySettings `yaml:"clone,omitempty"`
	// The definitions of caches and services used in the declared pipelines.
	Definitions *GlobalDefinitions `yaml:"definitions,omitempty"`
	// Allows other Bitbucket repositories to import pipeline definitions from this file. A
	// shared pipeline definition can't contain another `import` property.
	Export *bool  `yaml:"export,omitempty"`
	Image  *Image `yaml:"image,omitempty"`
	// Additional key value data supplied in the configuration YAML.
	Labels map[string]any `yaml:"labels,omitempty"`
	// Global options allow to override the default values applied to all steps in all declared
	// pipelines.
	Options   *GlobalOptions `yaml:"options,omitempty"`
	Pipelines *Pipelines     `yaml:"pipelines,omitempty"`
}

type CachValue added in v0.3.6

type CachValue struct {
	Cache  *Cache
	String *string
}

type Cache added in v0.3.6

type Cache struct {
	Key  *CacheKey `yaml:"key,omitempty"`
	Path string    `yaml:"path"`
}

type CacheKey added in v0.3.6

type CacheKey struct {
	// Checksum of these file paths will be used to generate the cache key.
	Files []string `yaml:"files"`
}

type ChangesetCondition added in v0.3.6

type ChangesetCondition struct {
	// Condition which holds only if all of the modified files match any of the specified
	// patterns.
	ExcludePaths []string `yaml:"excludePaths,omitempty"`
	// Condition which holds only if any of the modified files match any of the specified
	// patterns.
	IncludePaths []string `yaml:"includePaths,omitempty"`
}

Condition on the changesets involved in the pipeline.

type CloneRepositorySettings added in v0.3.6

type CloneRepositorySettings struct {
	// The depth argument of Git clone operation. It can be either number or "full" value
	Depth *GitCloneDepth `yaml:"depth,omitempty"`
	// Enables cloning of the repository.
	Enabled *bool `yaml:"enabled,omitempty"`
	// Enables the download of files from LFS storage when cloning.
	LFS *bool `yaml:"lfs,omitempty"`
	// Disables SSL verification during Git clone operation, allowing the use of self-signed
	// certificates.
	SkipSSLVerify *bool `yaml:"skip-ssl-verify,omitempty"`
}

Settings for cloning a repository into a container.

type CloudStepRuntime added in v0.3.6

type CloudStepRuntime struct {
	// Architecture type used to run the step.
	Arch *Arch `yaml:"arch,omitempty"`
	// Whether it uses Atlassian ip ranges.
	AtlassianIPRanges *bool `yaml:"atlassian-ip-ranges,omitempty"`
	// Cloud Runtime version.
	Version *string `yaml:"version,omitempty"`
}

Custom cloud step runtime

type Condition added in v0.3.6

type Condition struct {
	// Condition on the changesets involved in the pipeline.
	Changesets ChangesetCondition `yaml:"changesets"`
}

The condition to execute the step.

The condition to execute the stage.

type CustomPipelineItem added in v0.3.6

type CustomPipelineItem struct {
	// List of variables for the custom pipeline.
	Variables []CustomPipelineVariable `yaml:"variables,omitempty"`
	Step      *ParallelGroupStepStep   `yaml:"step,omitempty"`
	Parallel  *Parallel                `yaml:"parallel,omitempty"`
	Stage     *Stage                   `yaml:"stage,omitempty"`
}

List of variables, steps, stages and parallel groups of the custom pipeline.

List of steps in the parallel group to run concurrently.

type CustomPipelineVariable added in v0.3.6

type CustomPipelineVariable struct {
	// A list of values that are allowed for the variable.
	AllowedValues []string `yaml:"allowed-values,omitempty"`
	Default       *string  `yaml:"default,omitempty"`
	Description   *string  `yaml:"description,omitempty"`
	Name          string   `yaml:"name"`
}

Settings for the custom variable.

type DefaultClass added in v0.3.6

type DefaultClass struct {
	// The import needs to match the following format:
	// {repo-slug|repo-uuid}:{tag-name|branch-name}:{pipeline-name}.
	Import string `yaml:"import"`
}

type DefaultPipeline added in v0.3.6

type DefaultPipeline struct {
	DefaultClass      *DefaultClass
	PipelineItemArray []PipelineItem
}

Default pipeline runs on every push except for tags unless a branch-specific pipeline is defined.

type GitCloneDepth added in v0.3.6

type GitCloneDepth struct {
	Enum    *GitCloneDepthEnum
	Integer *int64
}

The depth argument of Git clone operation. It can be either number or "full" value

type GitCloneDepthEnum added in v0.3.6

type GitCloneDepthEnum string
const (
	Full GitCloneDepthEnum = "full"
)

type GitLabArtifacts

type GitLabArtifacts struct {
	Paths    []string      `json:"paths,omitempty" yaml:"paths,omitempty"`
	Exclude  []string      `json:"exclude,omitempty" yaml:"exclude,omitempty"`
	ExpireIn string        `json:"expire_in,omitempty" yaml:"expire_in,omitempty"`
	When     string        `json:"when,omitempty" yaml:"when,omitempty"`
	Reports  GitLabReports `json:"reports,omitempty" yaml:"reports,omitempty"`
}

Artifacts represents the configuration for job artifacts.

type GitLabCI

type GitLabCI struct {
	Version      string               `json:"version,omitempty" yaml:"version,omitempty"`
	Stages       []string             `json:"stages,omitempty" yaml:"stages,omitempty"`
	Variables    map[string]string    `json:"variables,omitempty" yaml:"variables,omitempty"`
	Include      []GitLabInclude      `json:"include,omitempty" yaml:"include,omitempty"`
	Jobs         map[string]GitLabJob `json:"jobs,omitempty" yaml:"jobs,omitempty"`
	BeforeScript []string             `json:"before_script,omitempty" yaml:"before_script,omitempty"`
	AfterScript  []string             `json:"after_script,omitempty" yaml:"after_script,omitempty"`
	Image        GitLabImage          `json:"image,omitempty" yaml:"image,omitempty"`
	Services     []GitLabService      `json:"services,omitempty" yaml:"services,omitempty"`
}

GitLabCI represents the root structure of a GitLab CI pipeline file.

type GitLabImage

type GitLabImage struct {
	Name       string `json:"name,omitempty" yaml:"name,omitempty"`
	EntryPoint string `json:"entrypoint,omitempty" yaml:"entrypoint,omitempty"`
}

Image represents the Docker image configuration.

type GitLabInclude

type GitLabInclude struct {
	Local    string `json:"local,omitempty" yaml:"local,omitempty"`
	File     string `json:"file,omitempty" yaml:"file,omitempty"`
	Template string `json:"template,omitempty" yaml:"template,omitempty"`
	Remote   string `json:"remote,omitempty" yaml:"remote,omitempty"`
	Ref      string `json:"ref,omitempty" yaml:"ref,omitempty"`
	Project  string `json:"project,omitempty" yaml:"project,omitempty"`
}

Include represents external files that can be included into the CI configuration.

type GitLabJob

type GitLabJob struct {
	Script       []string           `json:"script,omitempty" yaml:"script,omitempty"`
	Stage        string             `json:"stage,omitempty" yaml:"stage,omitempty"`
	Tags         []string           `json:"tags,omitempty" yaml:"tags,omitempty"`
	Only         GitLabJobCondition `json:"only,omitempty" yaml:"only,omitempty"`
	Except       GitLabJobCondition `json:"except,omitempty" yaml:"except,omitempty"`
	Variables    map[string]string  `json:"variables,omitempty" yaml:"variables,omitempty"`
	When         string             `json:"when,omitempty" yaml:"when,omitempty"`
	AllowFailure bool               `json:"allow_failure,omitempty" yaml:"allow_failure,omitempty"`
	BeforeScript []string           `json:"before_script,omitempty" yaml:"before_script,omitempty"`
	AfterScript  []string           `json:"after_script,omitempty" yaml:"after_script,omitempty"`
	Dependencies []string           `json:"dependencies,omitempty" yaml:"dependencies,omitempty"`
	Artifacts    GitLabArtifacts    `json:"artifacts,omitempty" yaml:"artifacts,omitempty"`
	Retry        GitLabRetry        `json:"retry,omitempty" yaml:"retry,omitempty"`
}

Job represents a single job definition in GitLab CI.

type GitLabJobCondition

type GitLabJobCondition struct {
	Refs       []string `json:"refs,omitempty" yaml:"refs,omitempty"`
	Variables  []string `json:"variables,omitempty" yaml:"variables,omitempty"`
	Kubernetes []string `json:"kubernetes,omitempty" yaml:"kubernetes,omitempty"`
}

JobCondition represents conditions for when a job runs.

type GitLabReports

type GitLabReports struct {
	JUnit     string   `json:"junit,omitempty" yaml:"junit,omitempty"`
	Artifacts []string `json:"artifacts,omitempty" yaml:"artifacts,omitempty"`
}

Reports represent specific test reports that are uploaded after a job.

type GitLabRetry

type GitLabRetry struct {
	Max  int      `json:"max,omitempty" yaml:"max,omitempty"`
	When []string `json:"when,omitempty" yaml:"when,omitempty"`
}

Retry represents the retry configuration for a job.

type GitLabService

type GitLabService struct {
	Name       string `json:"name,omitempty" yaml:"name,omitempty"`
	Alias      string `json:"alias,omitempty" yaml:"alias,omitempty"`
	EntryPoint string `json:"entrypoint,omitempty" yaml:"entrypoint,omitempty"`
	Command    string `json:"command,omitempty" yaml:"command,omitempty"`
}

Service represents services that are used during the job execution.

type GithubContainer

type GithubContainer struct {
	Image       string                      `json:"image" yaml:"image"`                                 // The Docker image to use for the container.
	Credentials *GithubContainerCredentials `json:"credentials,omitempty" yaml:"credentials,omitempty"` // Credentials for the container registry, if required.
	Env         map[string]string           `json:"env,omitempty" yaml:"env,omitempty"`                 // Environment variables for the container.
	Ports       []interface{}               `json:"ports,omitempty" yaml:"ports,omitempty"`             // Array of ports to expose, can be numbers or strings.
	Volumes     []string                    `json:"volumes,omitempty" yaml:"volumes,omitempty"`         // Array of volumes to use in the container.
	Options     string                      `json:"options,omitempty" yaml:"options,omitempty"`         // Additional Docker container options.
}

Container represents a container configuration for a GitHub Action job.

type GithubContainerCredentials

type GithubContainerCredentials struct {
	Username string `json:"username,omitempty" yaml:"username,omitempty"` // Username for the container registry.
	Password string `json:"password,omitempty" yaml:"password,omitempty"` // Password for the container registry.
}

ContainerCredentials represents credentials for the container registry.

type GithubDefaultRun

type GithubDefaultRun struct {
	Shell            string `json:"shell,omitempty" yaml:"shell,omitempty"`
	WorkingDirectory string `json:"working-directory,omitempty" yaml:"working_directory,omitempty"`
}

DefaultRun represents default run configurations for the jobs in the workflow.

type GithubDefaults

type GithubDefaults struct {
	Run GithubDefaultRun `json:"run,omitempty" yaml:"run,omitempty"`
}

Defaults represents default values for jobs in the GitHub workflow.

type GithubInput

type GithubInput struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	Required    bool   `json:"required,omitempty" yaml:"required,omitempty"`
	Default     string `json:"default,omitempty" yaml:"default,omitempty"`
}

Input represents an input for a workflow dispatch event.

type GithubJob

type GithubJob struct {
	Name           string           `json:"name,omitempty" yaml:"name,omitempty"`
	Needs          []string         `json:"needs,omitempty" yaml:"needs,omitempty"`
	RunsOn         string           `json:"runs-on,omitempty" yaml:"runs-on,omitempty"`
	Container      *GithubContainer `json:"container,omitempty" yaml:"container,omitempty"`
	Steps          []*GithubStep    `json:"steps,omitempty" yaml:"steps,omitempty"`
	If             string           `json:"if,omitempty" yaml:"if,omitempty"`
	Env            map[string]any   `json:"env,omitempty" yaml:"env,omitempty"`
	Environment    string           `json:"environment,omitempty" yaml:"environment,omitempty"`
	TimeoutMinutes int              `json:"timeout-minutes,omitempty" yaml:"timeout_minutes,omitempty"`
	Strategy       *GithubStrategy  `json:"strategy,omitempty" yaml:"strategy,omitempty"`
}

Job represents a job in the GitHub workflow.

func (*GithubJob) AddStep

func (job *GithubJob) AddStep(step *GithubStep) error

type GithubPullRequestEvent

type GithubPullRequestEvent struct {
	Branches       []string `json:"branches,omitempty" yaml:"branches,omitempty"`
	Paths          []string `json:"paths,omitempty" yaml:"paths,omitempty"`
	BranchesIgnore []string `json:"branches-ignore,omitempty" yaml:"branches_ignore,omitempty"`
	PathsIgnore    []string `json:"paths-ignore,omitempty" yaml:"paths_ignore,omitempty"`
	Types          []string `json:"types,omitempty" yaml:"types,omitempty"`
}

PullRequestEvent represents a pull request event trigger configuration.

type GithubPushEvent

type GithubPushEvent struct {
	Branches       []string `json:"branches,omitempty" yaml:"branches,omitempty"`
	Tags           []string `json:"tags,omitempty" yaml:"tags,omitempty"`
	Paths          []string `json:"paths,omitempty" yaml:"paths,omitempty"`
	PathsIgnore    []string `json:"paths-ignore,omitempty" yaml:"paths_ignore,omitempty"`
	BranchesIgnore []string `json:"branches-ignore,omitempty" yaml:"branches_ignore,omitempty"`
	TagsIgnore     []string `json:"tags-ignore,omitempty" yaml:"tags_ignore,omitempty"`
}

PushEvent represents a push event trigger configuration.

type GithubScheduleEvent

type GithubScheduleEvent struct {
	Cron string `json:"cron,omitempty" yaml:"cron,omitempty"`
}

ScheduleEvent represents a cron schedule event trigger configuration.

type GithubStep

type GithubStep struct {
	Name            string            `json:"name,omitempty" yaml:"name,omitempty"`
	ID              string            `json:"id,omitempty" yaml:"id,omitempty"`
	Uses            string            `json:"uses,omitempty" yaml:"uses,omitempty"`
	Run             string            `json:"run,omitempty" yaml:"run,omitempty"`
	With            map[string]string `json:"with,omitempty" yaml:"with,omitempty"`
	Env             map[string]any    `json:"env,omitempty" yaml:"env,omitempty"`
	Shell           string            `json:"shell,omitempty" yaml:"shell,omitempty"`
	ContinueOnError bool              `json:"continue-on-error,omitempty" yaml:"continue_on_error,omitempty"`
	TimeoutMinutes  int               `json:"timeout-minutes,omitempty" yaml:"timeout_minutes,omitempty"`
	If              string            `json:"if,omitempty" yaml:"if,omitempty"`
}

Step represents a step in a GitHub job.

type GithubStrategy

type GithubStrategy struct {
	Matrix      map[string][]string `json:"matrix,omitempty" yaml:"matrix,omitempty"`
	MaxParallel int                 `json:"max-parallel,omitempty" yaml:"max_parallel,omitempty"`
	FailFast    bool                `json:"fail-fast,omitempty" yaml:"fail_fast,omitempty"`
}

Strategy represents a job strategy (matrix) configuration.

type GithubTriggerEvents

type GithubTriggerEvents struct {
	Push             GithubPushEvent             `json:"push" yaml:"push,omitempty"`
	PullRequest      GithubPullRequestEvent      `json:"pull_request" yaml:"pull_request,omitempty"`
	Schedule         []GithubScheduleEvent       `json:"schedule,omitempty" yaml:"schedule,omitempty"`
	WorkflowDispatch GithubWorkflowDispatchEvent `json:"workflow_dispatch" yaml:"workflow_dispatch,omitempty"`
}

TriggerEvents represents the trigger events for the GitHub workflow.

type GithubWorkflow

type GithubWorkflow struct {
	Name        string               `json:"name,omitempty" yaml:"name,omitempty"`
	On          *GithubTriggerEvents `json:"on" yaml:"on"`
	Jobs        OrderedMap           `json:"jobs" yaml:"jobs"`
	Defaults    *GithubDefaults      `json:"defaults,omitempty" yaml:"defaults,omitempty"`
	Env         map[string]any       `json:"env,omitempty" yaml:"env,omitempty"`
	Permissions map[string]string    `json:"permissions,omitempty" yaml:"permissions,omitempty"`
}

Workflow represents the root of a GitHub workflow file.

type GithubWorkflowDispatchEvent

type GithubWorkflowDispatchEvent struct {
	Inputs map[string]GithubInput `json:"inputs,omitempty" yaml:"inputs,omitempty"`
}

WorkflowDispatchEvent represents a manually triggered workflow dispatch event.

type GlobalDefinitions added in v0.3.6

type GlobalDefinitions struct {
	Caches map[string]*CachValue `yaml:"caches,omitempty"`
	// Definitions of the pipelines which can be used in other repositories of the same
	// Bitbucket workspace.
	Pipelines map[string]*PipelineValue    `yaml:"pipelines,omitempty"`
	Services  map[string]ServiceDefinition `yaml:"services,omitempty"`
}

The definitions of caches and services used in the declared pipelines.

type GlobalOptions added in v0.3.6

type GlobalOptions struct {
	// Enables Docker service for every step.
	Docker  *bool        `yaml:"docker,omitempty"`
	MaxTime *int64       `yaml:"max-time,omitempty"`
	Runtime *StepRuntime `yaml:"runtime,omitempty"`
	Size    *StepSize    `yaml:"size,omitempty"`
}

Global options allow to override the default values applied to all steps in all declared pipelines.

type Image added in v0.3.6

type Image struct {
	ImageClass *ImageClass
	String     *string
}

type ImageClass added in v0.3.6

type ImageClass struct {
	Name string `yaml:"name"`
	// The UID of a user in the docker image to run as. Overrides image's default user,
	// specified user UID must be an existing user in the image with a valid home directory.
	RunAsUser *int64 `yaml:"run-as-user,omitempty"`
	Aws       any    `yaml:"aws,omitempty"`
	// The password to use when fetching the Docker image.
	Password any `yaml:"password,omitempty"`
	// The username to use when fetching the Docker image.
	Username any `yaml:"username,omitempty"`
}

The parameters of the Docker image to use when running a step.

type OrderedMap added in v0.4.1

type OrderedMap struct {
	Keys   []string
	Values map[string]GithubJob
	// contains filtered or unexported fields
}

OrderedMap preserves insertion order of keys when (un)marshaling YAML.

func NewOrderedMap added in v0.4.1

func NewOrderedMap(initialItems ...OrderedMap) OrderedMap

func (*OrderedMap) Add added in v0.4.1

func (om *OrderedMap) Add(key string, val GithubJob)

func (OrderedMap) MarshalYAML added in v0.4.1

func (om OrderedMap) MarshalYAML() (any, error)

MarshalYAML implements yaml.Marshaler.

func (*OrderedMap) UnmarshalYAML added in v0.4.1

func (om *OrderedMap) UnmarshalYAML(node *yaml.Node) error

UnmarshalYAML implements yaml.Unmarshaler.

type Parallel added in v0.3.6

type Parallel struct {
	ParallelClass          *ParallelClass
	ParallelGroupStepArray []ParallelGroupStep
}

type ParallelClass added in v0.3.6

type ParallelClass struct {
	// Stop the whole parallel group in case one of its steps fails.
	FailFast *bool               `yaml:"fail-fast,omitempty"`
	Steps    []ParallelGroupStep `yaml:"steps"`
}

type ParallelGroupStep added in v0.3.6

type ParallelGroupStep struct {
	Step *ParallelGroupStepStep `yaml:"step,omitempty"`
}

List of steps in the parallel group to run concurrently.

type ParallelGroupStepStep added in v0.3.6

type ParallelGroupStepStep struct {
	// List of commands to execute after the step succeeds or fails.
	AfterScript []AfterScriptElement `yaml:"after-script,omitempty"`
	Artifacts   *Artifacts           `yaml:"artifacts,omitempty"`
	// Caches enabled for the step.
	Caches []string                 `yaml:"caches,omitempty"`
	Clone  *CloneRepositorySettings `yaml:"clone,omitempty"`
	// The deployment environment for the step.
	Deployment *string `yaml:"deployment,omitempty"`
	// Stop the parent parallel group in case this step fails.
	FailFast *bool  `yaml:"fail-fast,omitempty"`
	Image    *Image `yaml:"image,omitempty"`
	MaxTime  *int64 `yaml:"max-time,omitempty"`
	// The name of the step.
	Name *string `yaml:"name,omitempty"`
	// Enables the use of OpenID Connect to connect a pipeline step to a resource server.
	Oidc    *bool        `yaml:"oidc,omitempty"`
	RunsOn  *RunsOn      `yaml:"runs-on,omitempty"`
	Runtime *StepRuntime `yaml:"runtime,omitempty"`
	// List of commands that are executed in sequence.
	Script []AfterScriptElement `yaml:"script"`
	// Services enabled for the step.
	Services []string  `yaml:"services,omitempty"`
	Size     *StepSize `yaml:"size,omitempty"`
	// The trigger used for the pipeline step.
	Trigger *Trigger `yaml:"trigger,omitempty"`
	// The condition to execute the step.
	Condition *Condition `yaml:"condition,omitempty"`
}

type Pipe added in v0.3.6

type Pipe struct {
	// The full pipe identifier.
	Pipe string `yaml:"pipe"`
	// Environment variables passed to the pipe container.
	Variables map[string]*PipeVariable `yaml:"variables,omitempty"`
}

The pipe to execute.

type PipeVariable added in v0.3.6

type PipeVariable struct {
	String      *string
	StringArray []string
}

Environment variable value

type PipelineItem added in v0.3.6

type PipelineItem struct {
	Step     *ParallelGroupStepStep `yaml:"step,omitempty"`
	Parallel *Parallel              `yaml:"parallel,omitempty"`
	Stage    *Stage                 `yaml:"stage,omitempty"`
}

List of steps, stages and parallel groups of the pipeline.

List of steps in the parallel group to run concurrently.

type PipelineValue added in v0.3.6

type PipelineValue struct {
	CustomPipelineItemArray []CustomPipelineItem
	DefaultClass            *DefaultClass
}

type Pipelines added in v0.3.6

type Pipelines struct {
	// Branch-specific build pipelines.
	Branches map[string]*DefaultPipeline `yaml:"branches,omitempty"`
	// Pipelines that can only be triggered manually or be scheduled.
	Custom map[string]*PipelineValue `yaml:"custom,omitempty"`
	// Default pipeline runs on every push except for tags unless a branch-specific pipeline is
	// defined.
	Default *DefaultPipeline `yaml:"default,omitempty"`
	// Pull-request-specific build pipelines.
	PullRequests map[string]*PullRequestValue `yaml:"pull-requests,omitempty"`
	// Tag-specific build pipelines.
	Tags map[string]*DefaultPipeline `yaml:"tags,omitempty"`
}

type PullRequestClass added in v0.3.6

type PullRequestClass struct {
	Destinations map[string]*DefaultPipeline `yaml:"destinations,omitempty"`
}

type PullRequestValue added in v0.3.6

type PullRequestValue struct {
	PipelineItemArray []PipelineItem
	PullRequestClass  *PullRequestClass
}

type RunsOn added in v0.3.6

type RunsOn struct {
	String      *string
	StringArray []string
}

type ServiceDefinition added in v0.3.6

type ServiceDefinition struct {
	Image *Image `yaml:"image,omitempty"`
	// Memory limit for the service container, in megabytes.
	Memory *int64 `yaml:"memory,omitempty"`
	// Specifies Docker service container (to run Docker-in-Docker).
	Type *Type `yaml:"type,omitempty"`
	// Environment variables passed to the service container.
	Variables map[string]string `yaml:"variables,omitempty"`
}

Custom service properties

type Stage added in v0.3.6

type Stage struct {
	// The condition to execute the stage.
	Condition *Condition `yaml:"condition,omitempty"`
	// The deployment environment for the stage.
	Deployment *string `yaml:"deployment,omitempty"`
	// The name of the stage.
	Name *string `yaml:"name,omitempty"`
	// List of steps in the stage.
	Steps []StageStep `yaml:"steps"`
	// The trigger used for the pipeline stage.
	Trigger *Trigger `yaml:"trigger,omitempty"`
}

type StageStep added in v0.3.6

type StageStep struct {
	Step *StepStep `yaml:"step,omitempty"`
}

type StepRuntime added in v0.3.6

type StepRuntime struct {
	Cloud *CloudStepRuntime `yaml:"cloud,omitempty"`
}

Custom step runtime

type StepSize added in v0.3.6

type StepSize string

The size of the step, sets the amount of resources allocated.

const (
	The16X StepSize = "16x"
	The1X  StepSize = "1x"
	The2X  StepSize = "2x"
	The32X StepSize = "32x"
	The4X  StepSize = "4x"
	The8X  StepSize = "8x"
)

type StepStep added in v0.3.6

type StepStep struct {
	// List of commands to execute after the step succeeds or fails.
	AfterScript []AfterScriptElement `yaml:"after-script,omitempty"`
	Artifacts   *Artifacts           `yaml:"artifacts,omitempty"`
	// Caches enabled for the step.
	Caches []string                 `yaml:"caches,omitempty"`
	Clone  *CloneRepositorySettings `yaml:"clone,omitempty"`
	// The deployment environment for the step.
	Deployment *string `yaml:"deployment,omitempty"`
	// Stop the parent parallel group in case this step fails.
	FailFast *bool  `yaml:"fail-fast,omitempty"`
	Image    *Image `yaml:"image,omitempty"`
	MaxTime  *int64 `yaml:"max-time,omitempty"`
	// The name of the step.
	Name *string `yaml:"name,omitempty"`
	// Enables the use of OpenID Connect to connect a pipeline step to a resource server.
	Oidc    *bool        `yaml:"oidc,omitempty"`
	RunsOn  *RunsOn      `yaml:"runs-on,omitempty"`
	Runtime *StepRuntime `yaml:"runtime,omitempty"`
	// List of commands that are executed in sequence.
	Script []AfterScriptElement `yaml:"script"`
	// Services enabled for the step.
	Services []string  `yaml:"services,omitempty"`
	Size     *StepSize `yaml:"size,omitempty"`
	// The trigger used for the pipeline step.
	Trigger   *Trigger `yaml:"trigger,omitempty"`
	Condition any      `yaml:"condition,omitempty"`
}

type StringSlice added in v0.4.1

type StringSlice []string

StringSlice is a []string that can unmarshal from either a YAML string or a YAML sequence of strings.

func (StringSlice) JSONSchema added in v0.4.1

func (StringSlice) JSONSchema() *jsonschema.Schema

JSONSchema implements jsonschema.ExtSchema

func (*StringSlice) UnmarshalYAML added in v0.4.1

func (s *StringSlice) UnmarshalYAML(value *yaml.Node) error

UnmarshalYAML implements yaml.Unmarshaler.

type Trigger added in v0.3.6

type Trigger string

The trigger used for the pipeline step.

The trigger used for the pipeline stage.

const (
	Automatic Trigger = "automatic"
	Manual    Trigger = "manual"
)

type Type added in v0.3.6

type Type string

Specifies Docker service container (to run Docker-in-Docker).

const (
	Docker Type = "docker"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL