| cr_buildtrigger {googleCloudRunner} | R Documentation | 
Create a new BuildTrigger
Description
Build Triggers are a way to have your builds respond to various events, most commonly a git commit or a pubsub event.
Usage
cr_buildtrigger(
  build,
  name,
  trigger,
  description = paste("cr_buildtrigger: ", Sys.time()),
  disabled = FALSE,
  substitutions = NULL,
  ignoredFiles = NULL,
  includedFiles = NULL,
  trigger_tags = NULL,
  projectId = cr_project_get(),
  sourceToBuild = NULL,
  overwrite = FALSE
)
Arguments
build | 
 The build to trigger created via cr_build_make, or the file location of the cloudbuild.yaml within the trigger source  | 
name | 
 User assigned name of the trigger  | 
trigger | 
 The trigger source created via cr_buildtrigger_repo or a pubsub trigger made with cr_buildtrigger_pubsub or a webhook trigger made with cr_buildtrigger_webhook  | 
description | 
 Human-readable description of this trigger  | 
disabled | 
 If true, the trigger will never result in a build  | 
substitutions | 
 A named list of Build macro variables  | 
ignoredFiles | 
 ignored_files and included_files are file glob matches extended with support for "**".  | 
includedFiles | 
 If any of the files altered in the commit pass the ignored_files  | 
trigger_tags | 
 Tags for the buildtrigger listing  | 
projectId | 
 ID of the project for which to configure automatic builds  | 
sourceToBuild | 
 A cr_buildtrigger_repo object (but no regex allowed for branch or tag) This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers and is the source of the build will execute upon.  | 
overwrite | 
 If TRUE will overwrite an existing trigger with the same name  | 
Details
Any source specified in the build will be overwritten to use the trigger as a source (GitHub or Cloud Source Repositories)
If you want multiple triggers for a build, then duplicate the build and create another build under a different name but with a different trigger. Its easier to keep track of.
See Also
Other BuildTrigger functions: 
BuildTrigger(),
GitHubEventsConfig(),
cr_buildtrigger_copy(),
cr_buildtrigger_delete(),
cr_buildtrigger_edit(),
cr_buildtrigger_get(),
cr_buildtrigger_list(),
cr_buildtrigger_pubsub(),
cr_buildtrigger_repo(),
cr_buildtrigger_run(),
cr_buildtrigger_webhook()
Examples
cr_project_set("my-project")
cr_bucket_set("my-bucket")
cloudbuild <- system.file("cloudbuild/cloudbuild.yaml",
  package = "googleCloudRunner"
)
bb <- cr_build_make(cloudbuild)
# repo hosted on GitHub
gh_trigger <- cr_buildtrigger_repo("MarkEdmondson1234/googleCloudRunner")
# repo mirrored to Cloud Source Repositories
cs_trigger <- cr_buildtrigger_repo("github_markedmondson1234_googlecloudrunner",
  type = "cloud_source"
)
## Not run: 
# build with in-line build code
cr_buildtrigger(bb, name = "bt-github-inline", trigger = gh_trigger)
# build with in-line build code using Cloud Source Repository
cr_buildtrigger(bb, name = "bt-github-inline", trigger = cs_trigger)
# build pointing to cloudbuild.yaml within the GitHub repo
cr_buildtrigger("inst/cloudbuild/cloudbuild.yaml",
  name = "bt-github-file", trigger = gh_trigger
)
# build with repo mirror from file
cr_buildtrigger("inst/cloudbuild/cloudbuild.yaml",
  name = "bt-cs-file", trigger = cs_trigger
)
## End(Not run)
# creating build triggers that respond to pubsub events
## Not run: 
# create a pubsub topic either in webUI or via library(googlePubSubR)
library(googlePubsubR)
pubsub_auth()
topics_create("test-topic")
## End(Not run)
# create build trigger that will work from pub/subscription
pubsub_trigger <- cr_buildtrigger_pubsub("test-topic")
pubsub_trigger
## Not run: 
# create the build trigger with in-line build
cr_buildtrigger(bb, name = "pubsub-triggered", trigger = pubsub_trigger)
# create scheduler that calls the pub/sub topic
cr_schedule("cloud-build-pubsub",
  "15 5 * * *",
  pubsubTarget = cr_schedule_pubsub("test-topic")
)
## End(Not run)
# create a pubsub trigger that uses github as a source of code to build upon
gh <- cr_buildtrigger_repo("MarkEdmondson1234/googleCloudRunner")
blist <- cr_build_make(cr_build_yaml(cr_buildstep_r('list.files()')))
## Not run: 
cr_buildtrigger(blist,
                name = "pubsub-triggered-github-source",
                trigger = pubsub_trigger,
                sourceToBuild = gh)
## End(Not run)