GitLab organization Severitylow builtIn

Description

Pipeline schedules should explicitly set CronTimezone (typically 'UTC' or an IANA zone such as 'America/New_York') to make the schedule's intent unambiguous. Leaving CronTimezone blank causes GitLab to fall back to the instance default, which is invisible to the project owner and can shift unexpectedly when an admin reconfigures the instance. An explicit timezone also documents intent for daylight-saving transitions and cross-region teams. Reference: https://docs.gitlab.com/ee/ci/pipelines/schedules.html#cron-syntax

Recommendation

1. In GitLab, navigate to the project: Build > Pipeline schedules. 2. Edit any schedule whose Cron timezone is blank. 3. Choose an explicit IANA timezone -- 'UTC' is recommended for shared / cross-region projects; pick the team's primary timezone otherwise. 4. Save changes. 5. Verify the displayed 'Next run' timestamp matches the expected wall-clock time.

Policy Rule

{
  "target": "GLPipelineSchedule",
  "if": {
    "allOf": [
      {
        "resource": "GLPipelineSchedule",
        "property": "CronTimezone",
        "operator": "notEquals",
        "value": ""
      }
    ]
  },
  "then": {
    "effect": "Audit"
  }
}