- Resource: BuildTrigger
- Methods
Resource: BuildTrigger
Configuration for an automated build in response to source repository changes.
JSON representation |
---|
{ "resourceName": string, "id": string, "description": string, "name": string, "tags": [ string ], "triggerTemplate": { object ( |
Fields | |
---|---|
resourceName |
The |
id |
Output only. Unique identifier of the trigger. |
description |
Human-readable description of this trigger. |
name |
User-assigned name of the trigger. Must be unique within the project. Trigger names must meet the following requirements:
|
tags[] |
Tags for annotation of a |
triggerTemplate |
Template describing the types of source changes to trigger a build. Branch and tag names in trigger templates are interpreted as regular expressions. Any branch or tag change that matches that regular expression will trigger a build. Mutually exclusive with |
github |
GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. Mutually exclusive with |
pubsubConfig |
PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published. |
webhookConfig |
WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL. |
bitbucketServerTriggerConfig |
BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received. |
gitlabEnterpriseEventsConfig |
GitLabEnterpriseEventsConfig describes the configuration of a trigger that creates a build whenever a GitLab Enterprise event is received. |
createTime |
Output only. Time when the trigger was created. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
disabled |
If true, the trigger will never automatically execute a build. |
substitutions |
Substitutions for Build resource. The keys must match the following regular expression: An object containing a list of |
ignoredFiles[] |
ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for "**". If ignoredFiles and changed files are both empty, then they are not used to determine whether or not to trigger a build. If ignoredFiles 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 ignoredFiles globs, then we do not trigger a build. |
includedFiles[] |
If any of the files altered in the commit pass the ignoredFiles filter and includedFiles 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 ignoredFiles filter and includedFiles is not empty, then we make sure that at least one of those files matches a includedFiles glob. If not, then we do not trigger a build. |
sourceToBuild |
The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers. |
approvalConfig |
Configuration for manual approval to start a build invocation of this BuildTrigger. |
filter |
A Common Expression Language string. |
serviceAccount |
The service account used for all user-controlled operations including triggers.patch, triggers.run, builds.create, and builds.cancel. If no service account is set and the legacy Cloud Build service account ([PROJECT_NUM]@cloudbuild.gserviceaccount.com) is the default for the project then it will be used instead. Format: |
eventType |
EventType allows the user to explicitly set the type of event to which this BuildTrigger should respond. This field will be validated against the rest of the configuration if it is set. |
includeBuildLogs |
If set to INCLUDE_BUILD_LOGS_WITH_STATUS, log url will be shown on GitHub page when build status is final. Setting this field to INCLUDE_BUILD_LOGS_WITH_STATUS for non GitHub triggers results in INVALID_ARGUMENT error. |
repositoryEventConfig |
The configuration of a trigger that creates a build whenever an event from Repo API is received. |
Union field build_template . Template describing the Build request to make when the trigger is matched. At least one of the template fields must be provided. build_template can be only one of the following: |
|
autodetect |
Autodetect build configuration. The following precedence is used (case insensitive):
Currently only available for GitHub App Triggers. |
build |
Contents of the build template. |
filename |
Path, from the source root, to the build configuration file (i.e. cloudbuild.yaml). |
gitFileSource |
The file source describing the local or remote Build template. |
GitHubEventsConfig
GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received.
JSON representation |
---|
{ "installationId": string, "owner": string, "name": string, "enterpriseConfigResourceName": string, // Union field |
Fields | |
---|---|
installationId |
The installationID that emits the GitHub event. |
owner |
Owner of the repository. For example: The owner for https://github.com/googlecloudplatform/cloud-builders is "googlecloudplatform". |
name |
Name of the repository. For example: The name for https://github.com/googlecloudplatform/cloud-builders is "cloud-builders". |
enterpriseConfigResourceName |
The resource name of the github enterprise config that should be applied to this installation. For example: "projects/{$projectId}/locations/{$locationId}/githubEnterpriseConfigs/{$configId}" |
Union field event . Filter describing the types of events to trigger a build. Currently supported event types: push, pull_request. event can be only one of the following: |
|
pullRequest |
filter to match changes in pull requests. |
push |
filter to match changes in refs like branches, tags. |
PullRequestFilter
PullRequestFilter contains filter properties for matching GitHub Pull Requests.
JSON representation |
---|
{ "commentControl": enum ( |
Fields | |
---|---|
commentControl |
If CommentControl is enabled, depending on the setting, builds may not fire until a repository writer comments If CommentControl is set to disabled, comments with |
invertRegex |
If true, branches that do NOT match the gitRef will trigger a build. |
Union field git_ref . Target refs to match. A target ref is the git reference where the pull request will be applied. git_ref can be only one of the following: |
|
branch |
Regex of branches to match. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax |
CommentControl
Controls whether or not a /gcbrun
comment is required from a user with repository write permission or above in order to trigger Build runs for pull requests. Pull Request update events differ between repo types. Check repo specific guides (GitHub, Bitbucket, GitLab for details.
Enums | |
---|---|
COMMENTS_DISABLED |
Do not require /gcbrun comments from a user with repository write permission or above on pull requests before builds are triggered. Comments that contain /gcbrun will still fire builds so this should be thought of as comments not required. |
COMMENTS_ENABLED |
Builds will only fire in response to pull requests if: 1. The pull request author has repository write permission or above and /gcbrun is in the PR description. 2. A user with repository writer permissions or above comments /gcbrun on a pull request authored by any user. |
COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY |
Builds will only fire in response to pull requests if: 1. The pull request author is a repository writer or above. 2. If the author does not have write permissions, a user with write permissions or above must comment /gcbrun in order to fire a build. |
PushFilter
Push contains filter properties for matching GitHub git pushes.
JSON representation |
---|
{ "invertRegex": boolean, // Union field |
Fields | |
---|---|
invertRegex |
When true, only trigger a build if the revision regex does NOT match the gitRef regex. |
Union field git_ref . Modified refs to match. A modified refs are the refs modified by a git push operation. git_ref can be only one of the following: |
|
branch |
Regexes matching branches to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax |
tag |
Regexes matching tags to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax |
PubsubConfig
PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published.
JSON representation |
---|
{
"subscription": string,
"topic": string,
"serviceAccountEmail": string,
"state": enum ( |
Fields | |
---|---|
subscription |
Output only. Name of the subscription. Format is |
topic |
Optional. The name of the topic from which this subscription is receiving messages. Format is |
serviceAccountEmail |
Service account that will make the push request. |
state |
Potential issues with the underlying Pub/Sub subscription configuration. Only populated on get requests. |
State
Enumerates potential issues with the underlying Pub/Sub subscription configuration.
Enums | |
---|---|
STATE_UNSPECIFIED |
The subscription configuration has not been checked. |
OK |
The Pub/Sub subscription is properly configured. |
SUBSCRIPTION_DELETED |
The subscription has been deleted. |
TOPIC_DELETED |
The topic has been deleted. |
SUBSCRIPTION_MISCONFIGURED |
Some of the subscription's field are misconfigured. |
WebhookConfig
WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL.
JSON representation |
---|
{ "state": enum ( |
Fields | |
---|---|
state |
Potential issues with the underlying Pub/Sub subscription configuration. Only populated on get requests. |
Union field auth_method . Auth method specifies how the webhook authenticates with GCP. auth_method can be only one of the following: |
|
secret |
Required. Resource name for the secret required as a URL parameter. |
State
Enumerates potential issues with the Secret Manager secret provided by the user.
Enums | |
---|---|
STATE_UNSPECIFIED |
The webhook auth configuration not been checked. |
OK |
The auth configuration is properly setup. |
SECRET_DELETED |
The secret provided in auth_method has been deleted. |
BitbucketServerTriggerConfig
BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received.
JSON representation |
---|
{ "repoSlug": string, "projectKey": string, "bitbucketServerConfigResource": string, "bitbucketServerConfig": { object ( |
Fields | |
---|---|
repoSlug |
Required. Slug of the repository. A repository slug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL. For example, if the repository name is 'test repo', in the URL it would become 'test-repo' as in https://mybitbucket.server/projects/TEST/repos/test-repo. |
projectKey |
Required. Key of the project that the repo is in. For example: The key for https://mybitbucket.server/projects/TEST/repos/test-repo is "TEST". |
bitbucketServerConfigResource |
Required. The Bitbucket server config resource that this trigger config maps to. |
bitbucketServerConfig |
Output only. The BitbucketServerConfig specified in the bitbucketServerConfigResource field. |
Union field event . Filter describing the types of events to trigger a build. Currently supported event types: push, pull_request. event can be only one of the following: |
|
pullRequest |
Filter to match changes in pull requests. |
push |
Filter to match changes in refs like branches, tags. |
GitLabEventsConfig
GitLabEventsConfig describes the configuration of a trigger that creates a build whenever a GitLab event is received.
JSON representation |
---|
{ "projectNamespace": string, "gitlabConfigResource": string, "gitlabConfig": { object ( |
Fields | |
---|---|
projectNamespace |
Namespace of the GitLab project. |
gitlabConfigResource |
The GitLab config resource that this trigger config maps to. |
gitlabConfig |
Output only. The GitLabConfig specified in the gitlabConfigResource field. |
Union field event . Filter describing the types of events to trigger a build. Currently supported event types: push, pull_request. event can be only one of the following: |
|
pullRequest |
Filter to match changes in pull requests. |
push |
Filter to match changes in refs like branches, tags. |
GitFileSource
GitFileSource describes a file within a (possibly remote) code repository.
JSON representation |
---|
{ "path": string, "uri": string, "repoType": enum ( |
Fields | |
---|---|
path |
The path of the file, with the repo root as the root of the path. |
uri |
The URI of the repo. Either uri or repository can be specified. If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path. |
repoType |
See RepoType above. |
revision |
The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path. |
Union field source . The source of the SCM repo. source can be only one of the following: |
|
repository |
The fully qualified resource name of the Repos API repository. Either URI or repository can be specified. If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path. |
Union field enterprise_config . The resource name of the enterprise config that should be applied to this source. enterprise_config can be only one of the following: |
|
githubEnterpriseConfig |
The full resource name of the github enterprise config. Format: |
bitbucketServerConfig |
The full resource name of the bitbucket server config. Format: |
RepoType
The type of the repo, since it may not be explicit from the repo
field (e.g from a URL).
Enums | |
---|---|
UNKNOWN |
The default, unknown repo type. Don't use it, instead use one of the other repo types. |
CLOUD_SOURCE_REPOSITORIES |
A Google Cloud Source Repositories-hosted repo. |
GITHUB |
A GitHub-hosted repo not necessarily on "github.com" (i.e. GitHub Enterprise). |
BITBUCKET_SERVER |
A Bitbucket Server-hosted repo. |
GITLAB |
A GitLab-hosted repo. |
BITBUCKET_CLOUD |
A Bitbucket Cloud-hosted repo. |
GitRepoSource
GitRepoSource describes a repo and ref of a code repository.
JSON representation |
---|
{ "uri": string, "ref": string, "repoType": enum ( |
Fields | |
---|---|
uri |
The URI of the repo (e.g. https://github.com/user/repo.git). Either |
ref |
The branch or tag to use. Must start with "refs/" (required). |
repoType |
See RepoType below. |
Union field source . The source of the SCM repo. source can be only one of the following: |
|
repository |
The connected repository resource name, in the format |
Union field enterprise_config . The resource name of the enterprise config that should be applied to this source. enterprise_config can be only one of the following: |
|
githubEnterpriseConfig |
The full resource name of the github enterprise config. Format: |
bitbucketServerConfig |
The full resource name of the bitbucket server config. Format: |
EventType
EventType represents the type of event to which a BuildTrigger responds.
Enums | |
---|---|
EVENT_TYPE_UNSPECIFIED |
EVENT_TYPE_UNSPECIFIED event_types are ignored. |
REPO |
REPO corresponds to the supported VCS integrations. |
WEBHOOK |
WEBHOOK corresponds to webhook triggers. |
PUBSUB |
PUBSUB corresponds to pubsub triggers. |
MANUAL |
MANUAL corresponds to manual-only invoked triggers. |
IncludeBuildLogs
The options of enabling showing build logs on GitHub.
Enums | |
---|---|
INCLUDE_BUILD_LOGS_UNSPECIFIED |
Build logs will not be shown on GitHub. |
INCLUDE_BUILD_LOGS_WITH_STATUS |
Build logs will be shown on GitHub. |
RepositoryEventConfig
The configuration of a trigger that creates a build whenever an event from Repo API is received.
JSON representation |
---|
{ "repository": string, "repositoryType": enum ( |
Fields | |
---|---|
repository |
The resource name of the Repo API resource. |
repositoryType |
Output only. The type of the SCM vendor the repository points to. |
Union field filter . The types of filter to trigger a build. filter can be only one of the following: |
|
pullRequest |
Filter to match changes in pull requests. |
push |
Filter to match changes in refs like branches, tags. |
RepositoryType
All possible SCM repo types from Repo API.
Enums | |
---|---|
REPOSITORY_TYPE_UNSPECIFIED |
If unspecified, RepositoryType defaults to GITHUB. |
GITHUB |
The SCM repo is GITHUB. |
GITHUB_ENTERPRISE |
The SCM repo is GITHUB Enterprise. |
GITLAB_ENTERPRISE |
The SCM repo is GITLAB Enterprise. |
BITBUCKET_DATA_CENTER |
The SCM repo is BITBUCKET Data Center. |
BITBUCKET_CLOUD |
The SCM repo is BITBUCKET Cloud. |
Methods |
|
---|---|
|
Creates a new BuildTrigger . |
|
Deletes a BuildTrigger by its project ID and trigger ID. |
|
Returns information about a BuildTrigger . |
|
Lists existing BuildTrigger s. |
|
Updates a BuildTrigger by its project ID and trigger ID. |
|
Runs a BuildTrigger at a particular source revision. |
|
ReceiveTriggerWebhook [Experimental] is called when the API receives a webhook request targeted at a specific trigger. |