NAME
    gcloud beta builds triggers create github - create a build trigger for a
        GitHub repository

SYNOPSIS
    gcloud beta builds triggers create github
        (--trigger-config=PATH | [--repo-name=REPO_NAME
          --repo-owner=REPO_OWNER (--branch-pattern=REGEX | --tag-pattern=REGEX
          | [--pull-request-pattern=REGEX : --comment-control=COMMENT_CONTROL;
          default="COMMENTS_ENABLED"]) (--build-config=PATH
          | --inline-config=PATH | --dockerfile=DOCKERFILE
          --dockerfile-dir=DOCKERFILE_DIR;
          default="/" --dockerfile-image=DOCKERFILE_IMAGE)
          : --description=DESCRIPTION --ignored-files=[GLOB,...]
          --include-logs-with-status --included-files=[GLOB,...] --name=NAME
          --require-approval
          --service-account=SERVICE_ACCOUNT --substitutions=[KEY=VALUE,...]])
        [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    (BETA) Create a build trigger for a GitHub repository.

EXAMPLES
    To create a push trigger for all branches:

        $ gcloud beta builds triggers create github --name="my-trigger" \
            --service-account="projects/my-project/serviceAccounts/my-byosa@\
        my-project.iam.gserviceaccount.com" \
            --repo-owner="GoogleCloudPlatform" \
            --repo-name="cloud-builders" --branch-pattern=".*" \
            --build-config="cloudbuild.yaml"

    To create a pull request trigger for master:

        $ gcloud beta builds triggers create github --name="my-trigger" \
            --service-account="projects/my-project/serviceAccounts/my-byosa@\
        my-project.iam.gserviceaccount.com" \
            --repo-owner="GoogleCloudPlatform" \
            --repo-name="cloud-builders" --pull-request-pattern="^master$" \
            --build-config="cloudbuild.yaml"

REQUIRED FLAGS
     Exactly one of these must be specified:

       --trigger-config=PATH
          Path to Build Trigger config file (JSON or YAML format). For more
          details, see
          https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.triggers#BuildTrigger

       Flag based trigger configuration

         --repo-name=REPO_NAME
            Name of the GitHub Repository.

            This flag argument must be specified if any of the other arguments
            in this group are specified.

         --repo-owner=REPO_OWNER
            Owner of the GitHub Repository.

            This flag argument must be specified if any of the other arguments
            in this group are specified.

         --description=DESCRIPTION
            Build trigger description.

         --ignored-files=[GLOB,...]
            Glob filter. Changes only affecting ignored files won't trigger
            builds.

         --include-logs-with-status
            Build logs will be sent back to GitHub as part of the checkrun
            result.

         --included-files=[GLOB,...]
            Glob filter. Changes affecting at least one included file will
            trigger builds.

         --name=NAME
            Build trigger name.

         --require-approval
            Require manual approval for triggered builds.

         --service-account=SERVICE_ACCOUNT
            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) is
            used instead. Format:
            projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}.

         --substitutions=[KEY=VALUE,...]
            Parameters to be substituted in the build specification.

            For example (using some nonsensical substitution keys; all keys
            must begin with an underscore):

                $ gcloud builds triggers create ... --config config.yaml
                    --substitutions _FAVORITE_COLOR=blue,_NUM_CANDIES=10

            This will result in a build where every occurrence of
            ${_FAVORITE_COLOR} in certain fields is replaced by "blue", and
            similarly for ${_NUM_CANDIES} and "10".

            Only the following built-in variables can be specified with the
            --substitutions flag: REPO_NAME, BRANCH_NAME, TAG_NAME,
            REVISION_ID, COMMIT_SHA, SHORT_SHA.

            For more details, see:
            https://cloud.google.com/cloud-build/docs/api/build-requests#substitutions

         Exactly one of these must be specified:

           --branch-pattern=REGEX
              A regular expression specifying which git branches to match.

              This pattern is used as a regex search for any incoming pushes.
              For example, --branch-pattern=foo will match "foo", "foobar", and
              "barfoo". Events on a branch that does not match will be ignored.

              The syntax of the regular expressions accepted is the syntax
              accepted by RE2 and described at
              https://github.com/google/re2/wiki/Syntax.

           --tag-pattern=REGEX
              A regular expression specifying which git tags to match.

              This pattern is used as a regex search for any incoming pushes.
              For example, --tag-pattern=foo will match "foo", "foobar", and
              "barfoo". Events on a tag that does not match will be ignored.

              The syntax of the regular expressions accepted is the syntax
              accepted by RE2 and described at
              https://github.com/google/re2/wiki/Syntax.

           Pull Request settings

             --pull-request-pattern=REGEX
                A regular expression specifying which base git branch to match
                for pull request events.

                This pattern is used as a regex search for the base branch (the
                branch you are trying to merge into) for pull request updates.
                For example, --pull-request-pattern=foo will match "foo",
                "foobar", and "barfoo".

                The syntax of the regular expressions accepted is the syntax
                accepted by RE2 and described at
                https://github.com/google/re2/wiki/Syntax.

                This flag argument must be specified if any of the other
                arguments in this group are specified.

             --comment-control=COMMENT_CONTROL; default="COMMENTS_ENABLED"
                Require a repository collaborator or owner to comment '/gcbrun'
                on a pull request before running the build. COMMENT_CONTROL
                must be one of:

                 COMMENTS_DISABLED
                    Do not require comments on Pull Requests before builds are
                    triggered.
                 COMMENTS_ENABLED
                    Enforce that repository owners or collaborators must
                    comment on Pull Requests before builds are triggered.
                 COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY
                    Enforce that repository owners or collaborators must
                    comment on external contributors' Pull Requests before
                    builds are triggered.

         Exactly one of these must be specified:

           Build file configuration flags

             --build-config=PATH
                Path to a YAML or JSON file containing the build configuration
                in the repository.

                For more details, see:
                https://cloud.google.com/cloud-build/docs/build-config

           Build configuration file

             --inline-config=PATH
                Local path to a YAML or JSON file containing a build
                configuration.

           Dockerfile build configuration flags

             --dockerfile=DOCKERFILE
                Path of Dockerfile to use for builds in the repository.

                If specified, a build config will be generated to run docker
                build using the specified file.

                The filename is relative to the Dockerfile directory.

             --dockerfile-dir=DOCKERFILE_DIR; default="/"
                Location of the directory containing the Dockerfile in the
                repository.

                The directory will also be used as the Docker build context.

             --dockerfile-image=DOCKERFILE_IMAGE
                Docker image name to build.

                If not specified,
                gcr.io/PROJECT/github.com/REPO_OWNER/REPO_NAME:$COMMIT_SHA will
                be used.

                Use a build configuration (cloudbuild.yaml) file for building
                multiple images in a single trigger.

GCLOUD WIDE FLAGS
    These flags are available to all commands: --access-token-file, --account,
    --billing-project, --configuration, --flags-file, --flatten, --format,
    --help, --impersonate-service-account, --log-http, --project, --quiet,
    --trace-token, --user-output-enabled, --verbosity.

    Run $ gcloud help for details.

NOTES
    This command is currently in beta and might change without notice. This
    variant is also available:

        $ gcloud alpha builds triggers create github

