The owner who stops the schedule
GitLab runs scheduled pipelines with the permissions of the schedule owner. If that person is blocked or removed from the project, the schedule can change to Inactive and stop creating pipelines. GitLab also stops scheduled pipelines when the project or group is marked for deletion.
A heartbeat cannot repair the schedule. It makes the missing successful pipeline visible to someone who can change the owner or reactivate the schedule.
Add a final CI job
Save the PostDeploy token as a masked CI/CD variable named POSTDEPLOY_HEARTBEAT_TOKEN. Put the heartbeat job in the final stage and require the scheduled work to finish first.
stages:
- report
- monitor
nightly_report:
stage: report
script:
- ./bin/nightly-report
postdeploy_heartbeat:
stage: monitor
needs: [nightly_report]
script:
- curl -fsS "https://ingest.postdeploy.dev/h/$POSTDEPLOY_HEARTBEAT_TOKEN"
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule"'
Check the schedule owner
Open Build, Pipeline schedules and confirm the schedule is Active and has the intended owner. Run it once manually to confirm the heartbeat, then check the next scheduled pipeline appears. Use a service account or a stable maintainer account where your GitLab policy permits it.
Respond to a missing heartbeat
When PostDeploy alerts, first look for a scheduled pipeline. If none exists, inspect the schedule status and owner. If a pipeline exists but the heartbeat job did not run, inspect the job graph and rules.
Questions
Why did my GitLab pipeline schedule become inactive?
A schedule can become Inactive when its owner is blocked or removed from the project. Scheduled pipelines also stop when GitLab marks the project or group for deletion.
Which permissions does a GitLab scheduled pipeline use?
It runs with the permissions of the user who owns the schedule. Review that owner when a scheduled pipeline changes behaviour after membership changes.
What PostDeploy does not do here
- PostDeploy does not read GitLab pipeline logs
- PostDeploy does not change a schedule owner or reactivate a schedule
- PostDeploy does not trigger a GitLab pipeline
Sources
Links are the platform's own documentation for the failure mode described above.
- GitLab CI/CD pipeline schedules Checked