GitLab v8.11.0 published on Friday, Apr 18, 2025 by Pulumi
gitlab.getProjectVariables
Explore with Pulumi AI
The gitlab.getProjectVariables data source allows to retrieve all project-level CI/CD variables.
Upstream API: GitLab REST API docs
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as gitlab from "@pulumi/gitlab";
const vars = gitlab.getProjectVariables({
    project: "my/example/project",
});
// Using an environment scope
const stagingVars = gitlab.getProjectVariables({
    project: "my/example/project",
    environmentScope: "staging/*",
});
import pulumi
import pulumi_gitlab as gitlab
vars = gitlab.get_project_variables(project="my/example/project")
# Using an environment scope
staging_vars = gitlab.get_project_variables(project="my/example/project",
    environment_scope="staging/*")
package main
import (
	"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gitlab.GetProjectVariables(ctx, &gitlab.GetProjectVariablesArgs{
			Project: "my/example/project",
		}, nil)
		if err != nil {
			return err
		}
		// Using an environment scope
		_, err = gitlab.GetProjectVariables(ctx, &gitlab.GetProjectVariablesArgs{
			Project:          "my/example/project",
			EnvironmentScope: pulumi.StringRef("staging/*"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using GitLab = Pulumi.GitLab;
return await Deployment.RunAsync(() => 
{
    var vars = GitLab.GetProjectVariables.Invoke(new()
    {
        Project = "my/example/project",
    });
    // Using an environment scope
    var stagingVars = GitLab.GetProjectVariables.Invoke(new()
    {
        Project = "my/example/project",
        EnvironmentScope = "staging/*",
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gitlab.GitlabFunctions;
import com.pulumi.gitlab.inputs.GetProjectVariablesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        final var vars = GitlabFunctions.getProjectVariables(GetProjectVariablesArgs.builder()
            .project("my/example/project")
            .build());
        // Using an environment scope
        final var stagingVars = GitlabFunctions.getProjectVariables(GetProjectVariablesArgs.builder()
            .project("my/example/project")
            .environmentScope("staging/*")
            .build());
    }
}
variables:
  vars:
    fn::invoke:
      function: gitlab:getProjectVariables
      arguments:
        project: my/example/project
  # Using an environment scope
  stagingVars:
    fn::invoke:
      function: gitlab:getProjectVariables
      arguments:
        project: my/example/project
        environmentScope: staging/*
Using getProjectVariables
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getProjectVariables(args: GetProjectVariablesArgs, opts?: InvokeOptions): Promise<GetProjectVariablesResult>
function getProjectVariablesOutput(args: GetProjectVariablesOutputArgs, opts?: InvokeOptions): Output<GetProjectVariablesResult>def get_project_variables(environment_scope: Optional[str] = None,
                          project: Optional[str] = None,
                          opts: Optional[InvokeOptions] = None) -> GetProjectVariablesResult
def get_project_variables_output(environment_scope: Optional[pulumi.Input[str]] = None,
                          project: Optional[pulumi.Input[str]] = None,
                          opts: Optional[InvokeOptions] = None) -> Output[GetProjectVariablesResult]func GetProjectVariables(ctx *Context, args *GetProjectVariablesArgs, opts ...InvokeOption) (*GetProjectVariablesResult, error)
func GetProjectVariablesOutput(ctx *Context, args *GetProjectVariablesOutputArgs, opts ...InvokeOption) GetProjectVariablesResultOutput> Note: This function is named GetProjectVariables in the Go SDK.
public static class GetProjectVariables 
{
    public static Task<GetProjectVariablesResult> InvokeAsync(GetProjectVariablesArgs args, InvokeOptions? opts = null)
    public static Output<GetProjectVariablesResult> Invoke(GetProjectVariablesInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetProjectVariablesResult> getProjectVariables(GetProjectVariablesArgs args, InvokeOptions options)
public static Output<GetProjectVariablesResult> getProjectVariables(GetProjectVariablesArgs args, InvokeOptions options)
fn::invoke:
  function: gitlab:index/getProjectVariables:getProjectVariables
  arguments:
    # arguments dictionaryThe following arguments are supported:
- Project string
 - The name or id of the project.
 - Environment
Scope string - The environment scope of the variable. Defaults to all environment (
*). 
- Project string
 - The name or id of the project.
 - Environment
Scope string - The environment scope of the variable. Defaults to all environment (
*). 
- project String
 - The name or id of the project.
 - environment
Scope String - The environment scope of the variable. Defaults to all environment (
*). 
- project string
 - The name or id of the project.
 - environment
Scope string - The environment scope of the variable. Defaults to all environment (
*). 
- project str
 - The name or id of the project.
 - environment_
scope str - The environment scope of the variable. Defaults to all environment (
*). 
- project String
 - The name or id of the project.
 - environment
Scope String - The environment scope of the variable. Defaults to all environment (
*). 
getProjectVariables Result
The following output properties are available:
- Id string
 - The provider-assigned unique ID for this managed resource.
 - Project string
 - The name or id of the project.
 - Variables
List<Pulumi.
Git Lab. Outputs. Get Project Variables Variable>  - The list of variables returned by the search
 - Environment
Scope string - The environment scope of the variable. Defaults to all environment (
*). 
- Id string
 - The provider-assigned unique ID for this managed resource.
 - Project string
 - The name or id of the project.
 - Variables
[]Get
Project Variables Variable  - The list of variables returned by the search
 - Environment
Scope string - The environment scope of the variable. Defaults to all environment (
*). 
- id String
 - The provider-assigned unique ID for this managed resource.
 - project String
 - The name or id of the project.
 - variables
List<Get
Project Variables Variable>  - The list of variables returned by the search
 - environment
Scope String - The environment scope of the variable. Defaults to all environment (
*). 
- id string
 - The provider-assigned unique ID for this managed resource.
 - project string
 - The name or id of the project.
 - variables
Get
Project Variables Variable[]  - The list of variables returned by the search
 - environment
Scope string - The environment scope of the variable. Defaults to all environment (
*). 
- id str
 - The provider-assigned unique ID for this managed resource.
 - project str
 - The name or id of the project.
 - variables
Sequence[Get
Project Variables Variable]  - The list of variables returned by the search
 - environment_
scope str - The environment scope of the variable. Defaults to all environment (
*). 
- id String
 - The provider-assigned unique ID for this managed resource.
 - project String
 - The name or id of the project.
 - variables List<Property Map>
 - The list of variables returned by the search
 - environment
Scope String - The environment scope of the variable. Defaults to all environment (
*). 
Supporting Types
GetProjectVariablesVariable   
- Description string
 - The description of the variable.
 - Environment
Scope string - The environment scope of the variable. Defaults to all environment (
*). Note that in Community Editions of Gitlab, values other than*will cause inconsistent plans. - Key string
 - The name of the variable.
 - Masked bool
 - If set to 
true, the value of the variable will be hidden in job logs. The value must meet the masking requirements. Defaults tofalse. - Project string
 - The name or id of the project.
 - Protected bool
 - If set to 
true, the variable will be passed only to pipelines running on protected branches and tags. Defaults tofalse. - Raw bool
 - Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded.
 - Value string
 - The value of the variable.
 - Variable
Type string - The type of a variable. Valid values are: 
env_var,file. Default isenv_var. 
- Description string
 - The description of the variable.
 - Environment
Scope string - The environment scope of the variable. Defaults to all environment (
*). Note that in Community Editions of Gitlab, values other than*will cause inconsistent plans. - Key string
 - The name of the variable.
 - Masked bool
 - If set to 
true, the value of the variable will be hidden in job logs. The value must meet the masking requirements. Defaults tofalse. - Project string
 - The name or id of the project.
 - Protected bool
 - If set to 
true, the variable will be passed only to pipelines running on protected branches and tags. Defaults tofalse. - Raw bool
 - Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded.
 - Value string
 - The value of the variable.
 - Variable
Type string - The type of a variable. Valid values are: 
env_var,file. Default isenv_var. 
- description String
 - The description of the variable.
 - environment
Scope String - The environment scope of the variable. Defaults to all environment (
*). Note that in Community Editions of Gitlab, values other than*will cause inconsistent plans. - key String
 - The name of the variable.
 - masked Boolean
 - If set to 
true, the value of the variable will be hidden in job logs. The value must meet the masking requirements. Defaults tofalse. - project String
 - The name or id of the project.
 - protected_ Boolean
 - If set to 
true, the variable will be passed only to pipelines running on protected branches and tags. Defaults tofalse. - raw Boolean
 - Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded.
 - value String
 - The value of the variable.
 - variable
Type String - The type of a variable. Valid values are: 
env_var,file. Default isenv_var. 
- description string
 - The description of the variable.
 - environment
Scope string - The environment scope of the variable. Defaults to all environment (
*). Note that in Community Editions of Gitlab, values other than*will cause inconsistent plans. - key string
 - The name of the variable.
 - masked boolean
 - If set to 
true, the value of the variable will be hidden in job logs. The value must meet the masking requirements. Defaults tofalse. - project string
 - The name or id of the project.
 - protected boolean
 - If set to 
true, the variable will be passed only to pipelines running on protected branches and tags. Defaults tofalse. - raw boolean
 - Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded.
 - value string
 - The value of the variable.
 - variable
Type string - The type of a variable. Valid values are: 
env_var,file. Default isenv_var. 
- description str
 - The description of the variable.
 - environment_
scope str - The environment scope of the variable. Defaults to all environment (
*). Note that in Community Editions of Gitlab, values other than*will cause inconsistent plans. - key str
 - The name of the variable.
 - masked bool
 - If set to 
true, the value of the variable will be hidden in job logs. The value must meet the masking requirements. Defaults tofalse. - project str
 - The name or id of the project.
 - protected bool
 - If set to 
true, the variable will be passed only to pipelines running on protected branches and tags. Defaults tofalse. - raw bool
 - Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded.
 - value str
 - The value of the variable.
 - variable_
type str - The type of a variable. Valid values are: 
env_var,file. Default isenv_var. 
- description String
 - The description of the variable.
 - environment
Scope String - The environment scope of the variable. Defaults to all environment (
*). Note that in Community Editions of Gitlab, values other than*will cause inconsistent plans. - key String
 - The name of the variable.
 - masked Boolean
 - If set to 
true, the value of the variable will be hidden in job logs. The value must meet the masking requirements. Defaults tofalse. - project String
 - The name or id of the project.
 - protected Boolean
 - If set to 
true, the variable will be passed only to pipelines running on protected branches and tags. Defaults tofalse. - raw Boolean
 - Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded.
 - value String
 - The value of the variable.
 - variable
Type String - The type of a variable. Valid values are: 
env_var,file. Default isenv_var. 
Package Details
- Repository
 - GitLab pulumi/pulumi-gitlab
 - License
 - Apache-2.0
 - Notes
 - This Pulumi package is based on the 
gitlabTerraform Provider.