REST Resource: projects.triggers

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 (RepoSource)
  },
  "github": {
    object (GitHubEventsConfig)
  },
  "pubsubConfig": {
    object (PubsubConfig)
  },
  "webhookConfig": {
    object (WebhookConfig)
  },
  "bitbucketServerTriggerConfig": {
    object (BitbucketServerTriggerConfig)
  },
  "gitlabEnterpriseEventsConfig": {
    object (GitLabEventsConfig)
  },
  "createTime": string,
  "disabled": boolean,
  "substitutions": {
    string: string,
    ...
  },
  "ignoredFiles": [
    string
  ],
  "includedFiles": [
    string
  ],
  "sourceToBuild": {
    object (GitRepoSource)
  },
  "approvalConfig": {
    object (ApprovalConfig)
  },
  "filter": string,
  "serviceAccount": string,
  "eventType": enum (EventType),
  "includeBuildLogs": enum (IncludeBuildLogs),
  "repositoryEventConfig": {
    object (RepositoryEventConfig)
  },

  // Union field build_template can be only one of the following:
  "autodetect": boolean,
  "build": {
    object (Build)
  },
  "filename": string,
  "gitFileSource": {
    object (GitFileSource)
  }
  // End of list of possible types for union field build_template.
}
Fields
resourceName

string

The Trigger name with format: projects/{project}/locations/{location}/triggers/{trigger}, where {trigger} is a unique identifier generated by the service.

id

string

Output only. Unique identifier of the trigger.

description

string

Human-readable description of this trigger.

name

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.
tags[]

string

Tags for annotation of a BuildTrigger

triggerTemplate

object (RepoSource)

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.

github

object (GitHubEventsConfig)

GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received.

Mutually exclusive with triggerTemplate.

pubsubConfig

object (PubsubConfig)

PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published.

webhookConfig

object (WebhookConfig)

WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL.

bitbucketServerTriggerConfig

object (BitbucketServerTriggerConfig)

BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received.

gitlabEnterpriseEventsConfig

object (GitLabEventsConfig)

GitLabEnterpriseEventsConfig describes the configuration of a trigger that creates a build whenever a GitLab Enterprise event is received.

createTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

disabled

boolean

If true, the trigger will never automatically execute a build.

substitutions

map (key: string, value: string)

Substitutions for Build resource. The keys must match the following regular expression: ^_[A-Z0-9_]+$.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ignoredFiles[]

string

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[]

string

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

object (GitRepoSource)

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

object (ApprovalConfig)

Configuration for manual approval to start a build invocation of this BuildTrigger.

filter

string

A Common Expression Language string.

serviceAccount

string

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, 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}

eventType

enum (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

enum (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

object (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

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.

build

object (Build)

Contents of the build template.

filename

string

Path, from the source root, to the build configuration file (i.e. cloudbuild.yaml).

gitFileSource

object (GitFileSource)

The file source describing the local or remote Build template.

Methods

create

Creates a new BuildTrigger.

delete

Deletes a BuildTrigger by its project ID and trigger ID.

get

Returns information about a BuildTrigger.

list

Lists existing BuildTriggers.

patch

Updates a BuildTrigger by its project ID and trigger ID.

run

Runs a BuildTrigger at a particular source revision.

webhook

ReceiveTriggerWebhook [Experimental] is called when the API receives a webhook request targeted at a specific trigger.