Lesstep
Bitbucket Cloud · Pipelines · Checked November 2, 2026

Bitbucket Pipelines: the scheduled pipeline did not run

A schedule in Pipelines starts a pipeline on one branch every hour, day or week. It lives on the repository's Pipelines page, under Schedules near the top right, not in bitbucket-pipelines.yml. When nothing shows up at the expected time, the schedule may have fired and failed to start a pipeline, it may have run at another hour, or it may have run and failed without anyone being told.

Disabled, a deleted branch, or a renamed pipeline

The troubleshooting section of Atlassian's Scheduled and manually triggered pipelines gives these causes for a schedule that does not run:

The schedule reads the file on its own branch. A custom pipeline added on a feature branch is not there for a schedule on main until it is merged.

See what each execution did

The Schedules page shows past scheduled runs. The REST API keeps a record of every time a schedule fired, including the times it started nothing. From the Pipelines API, list the schedules, then one schedule's executions:

curl -s -u "you@example.com:$BITBUCKET_API_TOKEN" \
  "https://api.bitbucket.org/2.0/repositories/<workspace>/<repo>/pipelines_config/schedules/"

curl -s -u "you@example.com:$BITBUCKET_API_TOKEN" \
  "https://api.bitbucket.org/2.0/repositories/<workspace>/<repo>/pipelines_config/schedules/%7B<schedule-uuid>%7D/executions/"

In the API's definitions, an execution either carries the pipeline it started, or is one that "failed to be executed" and carries an error with a key and a message. The message says why the schedule could not start a pipeline. The UUID keeps its curly braces, written as %7B and %7D in the address. The API token needs the read:pipeline:bitbucket scope, and the user name is your Atlassian account email.

It ran at another hour

The page says the time is picked "in your local timezone" and the schedule "executes in UTC", and its troubleshooting lists "timezone confusion" for runs at the wrong time. A daily run picked as 2:00 in summer moves by an hour in local time when the clocks change, because the schedule itself does not.

Schedules made through the REST API use a 7-field cron pattern with seconds, in UTC. The API's example, 0 0 12 * * ? *, runs at 12:00 UTC every day, and the Schedules page shows such schedules as the cron expression. Changing the pattern later through the API does not take: the update accepts only enabled, and Atlassian's issue BCLOUD-23880 (opened October 2025, in the long-term backlog) reports that the old pattern stays. Delete the schedule and create it again.

The page offers hourly, daily and weekly. Shorter intervals are an open request, BCLOUD-20564.

A custom pipeline with variables

When a custom pipeline is run by hand, it asks for its variables (running a custom pipeline). A schedule has no place to give them values. Requests to add one are open: BCLOUD-20328, with 143 votes, and BCLOUD-19829. Values a scheduled run needs belong in repository, workspace or deployment variables, which reach every run (a variable is empty).

It started, then stopped

It failed, and nobody was told

A failed scheduled run sends no email. BCLOUD-15608, open since 2018 with 99 votes and in the long-term backlog, asks for it. Its workaround is a notification from the pipeline itself, such as the atlassian/email-notify pipe in an after-script, which runs whether the script passed or failed.

Bitbucket Pipelines in IntelliJ IDEA

Pipeline Inbox for Bitbucket Pipelines, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, lists the pipelines of all your Bitbucket Cloud repositories in an IDE tool window, with their steps, the failed step and the command it stopped at, and the step's log as Bitbucket writes it. Scheduled runs are marked "schedule" in the list. The list, steps and logs are free; running, re-running and stopping pipelines are Pro (US$1.50 a month, with a 30-day trial).

Get it on JetBrains Marketplace

Atlassian, Bitbucket and Bitbucket Pipelines are trademarks of Atlassian; IntelliJ IDEA is a trademark of JetBrains s.r.o. This page is not affiliated with or endorsed by Atlassian or JetBrains.

More: "Container 'build' failed to pull image" · "Connection refused" to a service (MySQL, PostgreSQL, Redis) · "Not authorized to perform sts:AssumeRoleWithWebIdentity" (OIDC to AWS) · Test results not showing · A variable is empty · "Host key verification failed" (SSH) · "Cannot connect to the Docker daemon" · "authorization denied by plugin pipelines" (Docker) · "Container 'docker' exceeded memory limit." · Pipelines did not run after a push · "Container 'Build' exceeded memory limit." · "Exceeded build time limit of 120 minutes" · The cache is not used · "unexpected system error" · "command not found" · Submodules not cloned · "We couldn't clone the repository" · "No online runner available" · "No space left on device" · "Step exceeded processing limits" · The artifact is missing in the next step · The build passed before and fails now · Build setup takes too long · "You've run out of build minutes" · "Permission denied to update branch" · "You have reached your pull rate limit" (Docker Hub) · "There is an error in your bitbucket-pipelines.yml" · "This pipeline was paused" (deployments) · Git commands that fail in a shallow clone (origin/main, git describe) · Git LFS files that arrive as pointers, and LFS pushes from a step · Bitbucket Pipelines plugins for IntelliJ IDEA, compared · 日本語