NAME

gcloud alpha scheduler jobs create http - create a Cloud Scheduler job that triggers an action via HTTP

SYNOPSIS

gcloud alpha scheduler jobs create http (JOB : --location=LOCATION) --schedule=SCHEDULE --uri=URI [--attempt-deadline=ATTEMPT_DEADLINE] [--description=DESCRIPTION] [--headers=HEADERS] [--http-method=HTTP_METHOD; default="post"] [--max-backoff=MAX_BACKOFF; default="1h"] [--max-doublings=MAX_DOUBLINGS; default=16] [--max-retry-attempts=MAX_RETRY_ATTEMPTS] [--max-retry-duration=MAX_RETRY_DURATION] [--min-backoff=MIN_BACKOFF; default="5s"] [--time-zone=TIME_ZONE; default="Etc/UTC"] [--message-body=MESSAGE_BODY | --message-body-from-file=MESSAGE_BODY_FROM_FILE] [[--oauth-service-account-email=OAUTH_SERVICE_ACCOUNT_EMAIL : --oauth-token-scope=OAUTH_TOKEN_SCOPE] | [--oidc-service-account-email=OIDC_SERVICE_ACCOUNT_EMAIL : --oidc-token-audience=OIDC_TOKEN_AUDIENCE]] [GCLOUD_WIDE_FLAG ...]

DESCRIPTION

(ALPHA) Create a Cloud Scheduler job that triggers an action via HTTP.

EXAMPLES

The following command creates a job that sends a HTTP GET request to 'http://example.com/path' every 3 hours:

$ gcloud alpha scheduler jobs create http my-job \ --schedule="0 */3 * * *" --uri="http://example.com/path" \ --http-method=GET

POSITIONAL ARGUMENTS

Job resource - Job to create. The arguments in this group can be used to

specify the attributes of this resource. (NOTE) Some attributes are not given arguments in this group but can be set in other ways. To set the project attribute:

provide the argument job on the command line with a fully specified name;

provide the argument --project on the command line;

set the property core/project.

This must be specified.

JOB

ID of the job or fully qualified identifier for the job. To set the job attribute:

  • provide the argument job on the command line.

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

--location=LOCATION

The location of the job. By default, uses the location of the current project's App Engine app if there is an associated app.

To set the location attribute:

  • provide the argument job on the command line with a fully specified name;

  • provide the argument --location on the command line;

  • defaults to App Engine's app location if not provided & an app exists.

REQUIRED FLAGS

--schedule=SCHEDULE

Schedule on which the job will be executed.

As a general rule, execution n + 1 of a job will not begin until execution n has finished. Cloud Scheduler will never allow two simultaneously outstanding executions. For example, this implies that if the n+1 execution is scheduled to run at 16:00 but the n execution takes until 16:15, the n+1 execution will not start until 16:15. A scheduled start time will be delayed if the previous execution has not ended when its scheduled time occurs.

If --retry-count > 0 and a job attempt fails, the job will be tried a total of --retry-count times, with exponential backoff, until the next scheduled start time.

The schedule can be either of the following types:

Crontab: http://en.wikipedia.org/wiki/Cron#Overview

English-like schedule: https://cloud.google.com/scheduler/docs/quickstart#defining_the_job_schedule

--uri=URI

The full URI path that the request will be sent to. This string must begin with either "http://" or "https://". For example, http://acme.com or https://acme.com/sales:8080. Cloud Scheduler will encode some characters for safety and compatibility. The maximum allowed URL length is 2083 characters after encoding.

OPTIONAL FLAGS

--attempt-deadline=ATTEMPT_DEADLINE

The deadline for job attempts. If the request handler doesn't respond by this dealine, the request is cancelled and the attempt is marked as failed. For example, 20s.

--description=DESCRIPTION

Human-readable description of the job.

--headers=HEADERS

KEY=VALUE pairs of HTTP headers to include in the request. Cannot be repeated. For example: --headers Accept-Language=en-us,Accept=text/plain

--http-method=HTTP_METHOD; default="post"

HTTP method to use for the request. HTTP_METHOD must be one of: delete, get, head, post, put.

--max-backoff=MAX_BACKOFF; default="1h"

Maximum amount of time to wait before retrying a task after it fails. For example, 10m. Default is 1h.

--max-doublings=MAX_DOUBLINGS; default=16

Maximum number of times that the interval between failed job retries will be doubled before the increase becomes constant.

--max-retry-attempts=MAX_RETRY_ATTEMPTS

Number of times to retry the request if it fails or times out. Must be in range 0-5 inclusive. Default is 0.

--max-retry-duration=MAX_RETRY_DURATION

Time limit for retrying a failed task, measured from when the task was first run. If specified with --max-retry-attempts greater than 0, the task will be retried until both limits are reached. Default is 0 (which means unlimited).

--min-backoff=MIN_BACKOFF; default="5s"

Minimum amount of time to wait before retrying a task after it fails. For example, 10s. Default is 5s.

--time-zone=TIME_ZONE; default="Etc/UTC"

Specifies the time zone to be used in interpreting --schedule. The value of this field must be a time zone name from the tz database https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.

Note that some time zones include a provision for daylight savings time. The rules for daylight saving time are determined by the chosen time zone.

For UTC use the string "utc". Default is "utc".

At most one of these can be specified:
--message-body=MESSAGE_BODY

Data payload to be included as the body of the HTTP request. May only be given with compatible HTTP methods (PUT or POST).

--message-body-from-file=MESSAGE_BODY_FROM_FILE

Path to file containing the data payload to be included as the body of the HTTP request. May only be given with compatible HTTP methods (PUT or POST).

How the request sent to the target when executing the job should be

authenticated.

At most one of these can be specified:

OAuth2
--oauth-service-account-email=OAUTH_SERVICE_ACCOUNT_EMAIL

The service account email to be used for generating an OAuth2 access token to be included in the request sent to the target when executing the job. The service account must be within the same project as the job. The caller must have iam.serviceAccounts.actAs permission for the service account. The token must be OAuth if the target is a Google APIs service with URL *.googleapis.com.

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

--oauth-token-scope=OAUTH_TOKEN_SCOPE

The scope to be used when generating an OAuth2 access token to be included in the request sent to the target when executing the job. If not specified, "https://www.googleapis.com/auth/cloud-platform" will be used.

OpenId Connect
--oidc-service-account-email=OIDC_SERVICE_ACCOUNT_EMAIL

The service account email to be used for generating an OpenId Connect token to be included in the request sent to the target when executing the job. The service account must be within the same project as the job. The caller must have iam.serviceAccounts.actAs permission for the service account. The OIDC token is generally used except for Google APIs hosted on *.googleapis.com: these APIs expect an OAuth token.

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

--oidc-token-audience=OIDC_TOKEN_AUDIENCE

The audience to be used when generating an OpenId Connect token to be included in the request sent to the target when executing the job. If not specified, the URI specified in target will be used.

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.

API REFERENCE

This command uses the cloudscheduler/v1 API. The full documentation for this API can be found at: https://cloud.google.com/scheduler/

NOTES

This command is currently in alpha and might change without notice. If this command fails with API permission errors despite specifying the correct project, you might be trying to access an API with an invitation-only early access allowlist. These variants are also available:

$ gcloud scheduler jobs create http

$ gcloud beta scheduler jobs create http