Represents a CI/CD variable defined at the project scope. Project variables are injected into pipeline jobs for the specific project (subject to protection and environment scope settings). They are the most common location for project-specific credentials, API tokens, deploy keys, and configuration secrets.
If the variable's value is a valid GitLab personal access token (verified via API), a GL_IsToken edge is added to the corresponding GL_AccessToken node.
| Property Name | Data Type | Description |
|---|---|---|
| name | string | Variable key name |
| value | string | Variable value (empty if hidden) |
| type | string | Variable type: env_var or file |
| protected | bool | Whether the variable is only injected into protected branch/tag pipelines |
| masked | bool | Whether the variable value is masked in job logs |
| hidden | bool | Whether the variable value is hidden (not retrievable via API) |
| environment_scope | string | Environment scope filter (e.g., *, staging, production) |
| description | string | Optional description |
flowchart TD
GL_ProjectVariable[fa:fa-sliders GL_ProjectVariable]
GL_AccessToken[fa:fa-key GL_AccessToken]
GL_Project[fa:fa-diagram-project GL_Project]
GL_Project -->|GL_Defines| GL_ProjectVariable
GL_ProjectVariable -->|GL_IsToken| GL_AccessToken