Disabling GitLab CI/CD hides CI/CD Variables¶
TL;DR
Turning the project's CI/CD feature off (builds_access_level: disabled) also
hides the Settings → CI/CD → Variables page. The variables aren't deleted — they're
just inaccessible (the API returns 403) until CI/CD is re-enabled.
Symptom¶
The CI/CD → Variables section is missing for this project, while other projects show it. Trying to read variables via the API fails:
Cause¶
The whole CI/CD feature is controlled by one project setting, builds_access_level:
| Value | Pipelines run | CI/CD menu + Variables |
|---|---|---|
enabled |
yes | visible |
private |
yes | visible to project members only |
disabled |
no | hidden (UI gone, API 403) |
When pipelines were disabled project-wide (to stop them running during a migration),
builds_access_level was set to disabled — which also removed the Variables page.
GitLab has no "variables visible but pipelines off" mode; Variables are part of CI/CD.
Resolution¶
Re-enable CI/CD.
Verify:
glab api "projects/ai71.ai%2Fdevops%2Fedge-devops" \
| python3 -c "import json,sys;p=json.load(sys.stdin);print(p['builds_access_level'], p['jobs_enabled'])"
# -> enabled True
Side effect of re-enabling
Pipelines resume on push and merge requests. In this repo the fmt / validate /
plan jobs run automatically (read-only) and every terraform apply job is
when: manual, so nothing deploys without an explicit click.
References¶
- Related tickets:
DEV-814(disable),DEV-815(re-enable). - GitLab: project features /
builds_access_level.