class Google::Apis::CloudbuildV1::BuildTrigger
Configuration for an automated build in response to source repository changes.
Attributes
ApprovalConfig
describes configuration for manual approval of a build. Corresponds to the JSON property `approvalConfig` @return [Google::Apis::CloudbuildV1::ApprovalConfig]
Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers. Corresponds to the JSON property `autodetect` @return [Boolean]
Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers. Corresponds to the JSON property `autodetect` @return [Boolean]
A build resource in the Cloud Build
API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $ PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $LOCATION: the location/region of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource
. - $BRANCH_NAME: the branch name specified by RepoSource
. - $TAG_NAME: the tag name specified by RepoSource
. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource
or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $ COMMIT_SHA. Corresponds to the JSON property `build` @return [Google::Apis::CloudbuildV1::Build]
Output only. Time when the trigger was created. Corresponds to the JSON property `createTime` @return [String]
Human-readable description of this trigger. Corresponds to the JSON property `description` @return [String]
If true, the trigger will never automatically execute a build. Corresponds to the JSON property `disabled` @return [Boolean]
If true, the trigger will never automatically execute a build. Corresponds to the JSON property `disabled` @return [Boolean]
Path, from the source root, to the build configuration file (i.e. cloudbuild. yaml). Corresponds to the JSON property `filename` @return [String]
A Common Expression Language string. Corresponds to the JSON property `filter` @return [String]
GitFileSource
describes a file within a (possibly remote) code repository. Corresponds to the JSON property `gitFileSource` @return [Google::Apis::CloudbuildV1::GitFileSource]
GitHubEventsConfig
describes the configuration of a trigger that creates a build whenever a GitHub event is received. Corresponds to the JSON property `github` @return [Google::Apis::CloudbuildV1::GitHubEventsConfig]
Output only. Unique identifier of the trigger. Corresponds to the JSON property `id` @return [String]
ignored_files
and included_files
are file glob matches using golang. org/pkg/path/filepath/#Match extended with support for “**”. If ignored_files
and changed files are both empty, then they are not used to determine whether or not to trigger a build. If ignored_files
is not empty, then we ignore any files that match any of the ignored_file globs. If the change has no files that are outside of the ignored_files
globs, then we do not trigger a build. Corresponds to the JSON property `ignoredFiles` @return [Array<String>]
If any of the files altered in the commit pass the ignored_files
filter and included_files
is empty, then as far as this filter is concerned, we should trigger the build. If any of the files altered in the commit pass the ignored_files
filter and included_files
is not empty, then we make sure that at least one of those files matches a included_files
glob. If not, then we do not trigger a build. Corresponds to the JSON property `includedFiles` @return [Array<String>]
User-assigned name of the trigger. Must be unique within the project. Trigger names must meet the following requirements: + They must contain only alphanumeric characters and dashes. + They can be 1-64 characters long. + They must begin and end with an alphanumeric character. Corresponds to the JSON property `name` @return [String]
PubsubConfig
describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published. Corresponds to the JSON property `pubsubConfig` @return [Google::Apis::CloudbuildV1::PubsubConfig]
The `Trigger` name with format: `projects/`project`/locations/`location`/ triggers/`trigger“, where `trigger` is a unique identifier generated by the service. Corresponds to the JSON property `resourceName` @return [String]
The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build
service account ([ PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: ` projects/`PROJECT_ID`/serviceAccounts/`ACCOUNT_ID_OR_EMAIL“ Corresponds to the JSON property `serviceAccount` @return [String]
GitRepoSource
describes a repo and ref of a code repository. Corresponds to the JSON property `sourceToBuild` @return [Google::Apis::CloudbuildV1::GitRepoSource]
Substitutions for Build
resource. The keys must match the following regular expression: `^[A-Z0-9]+$`. Corresponds to the JSON property `substitutions` @return [Hash<String,String>]
WebhookConfig
describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL. Corresponds to the JSON property `webhookConfig` @return [Google::Apis::CloudbuildV1::WebhookConfig]
Public Class Methods
# File lib/google/apis/cloudbuild_v1/classes.rb, line 897 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File lib/google/apis/cloudbuild_v1/classes.rb, line 902 def update!(**args) @approval_config = args[:approval_config] if args.key?(:approval_config) @autodetect = args[:autodetect] if args.key?(:autodetect) @build = args[:build] if args.key?(:build) @create_time = args[:create_time] if args.key?(:create_time) @description = args[:description] if args.key?(:description) @disabled = args[:disabled] if args.key?(:disabled) @filename = args[:filename] if args.key?(:filename) @filter = args[:filter] if args.key?(:filter) @git_file_source = args[:git_file_source] if args.key?(:git_file_source) @github = args[:github] if args.key?(:github) @id = args[:id] if args.key?(:id) @ignored_files = args[:ignored_files] if args.key?(:ignored_files) @included_files = args[:included_files] if args.key?(:included_files) @name = args[:name] if args.key?(:name) @pubsub_config = args[:pubsub_config] if args.key?(:pubsub_config) @resource_name = args[:resource_name] if args.key?(:resource_name) @service_account = args[:service_account] if args.key?(:service_account) @source_to_build = args[:source_to_build] if args.key?(:source_to_build) @substitutions = args[:substitutions] if args.key?(:substitutions) @tags = args[:tags] if args.key?(:tags) @trigger_template = args[:trigger_template] if args.key?(:trigger_template) @webhook_config = args[:webhook_config] if args.key?(:webhook_config) end