GitLab v8.11.0 published on Friday, Apr 18, 2025 by Pulumi
gitlab.getProjectVariable
Explore with Pulumi AI
The gitlab.ProjectVariable data source allows to retrieve details about a project-level CI/CD variable.
Upstream API: GitLab REST API docs
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as gitlab from "@pulumi/gitlab";
const foo = gitlab.getProjectVariable({
    project: "my/example/project",
    key: "foo",
});
// Using an environment scope
const bar = gitlab.getProjectVariable({
    project: "my/example/project",
    key: "bar",
    environmentScope: "staging/*",
});
import pulumi
import pulumi_gitlab as gitlab
foo = gitlab.get_project_variable(project="my/example/project",
    key="foo")
# Using an environment scope
bar = gitlab.get_project_variable(project="my/example/project",
    key="bar",
    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.LookupProjectVariable(ctx, &gitlab.LookupProjectVariableArgs{
			Project: "my/example/project",
			Key:     "foo",
		}, nil)
		if err != nil {
			return err
		}
		// Using an environment scope
		_, err = gitlab.LookupProjectVariable(ctx, &gitlab.LookupProjectVariableArgs{
			Project:          "my/example/project",
			Key:              "bar",
			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 foo = GitLab.GetProjectVariable.Invoke(new()
    {
        Project = "my/example/project",
        Key = "foo",
    });
    // Using an environment scope
    var bar = GitLab.GetProjectVariable.Invoke(new()
    {
        Project = "my/example/project",
        Key = "bar",
        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.GetProjectVariableArgs;
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 foo = GitlabFunctions.getProjectVariable(GetProjectVariableArgs.builder()
            .project("my/example/project")
            .key("foo")
            .build());
        // Using an environment scope
        final var bar = GitlabFunctions.getProjectVariable(GetProjectVariableArgs.builder()
            .project("my/example/project")
            .key("bar")
            .environmentScope("staging/*")
            .build());
    }
}
variables:
  foo:
    fn::invoke:
      function: gitlab:getProjectVariable
      arguments:
        project: my/example/project
        key: foo
  # Using an environment scope
  bar:
    fn::invoke:
      function: gitlab:getProjectVariable
      arguments:
        project: my/example/project
        key: bar
        environmentScope: staging/*
Using getProjectVariable
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 getProjectVariable(args: GetProjectVariableArgs, opts?: InvokeOptions): Promise<GetProjectVariableResult>
function getProjectVariableOutput(args: GetProjectVariableOutputArgs, opts?: InvokeOptions): Output<GetProjectVariableResult>def get_project_variable(environment_scope: Optional[str] = None,
                         key: Optional[str] = None,
                         project: Optional[str] = None,
                         opts: Optional[InvokeOptions] = None) -> GetProjectVariableResult
def get_project_variable_output(environment_scope: Optional[pulumi.Input[str]] = None,
                         key: Optional[pulumi.Input[str]] = None,
                         project: Optional[pulumi.Input[str]] = None,
                         opts: Optional[InvokeOptions] = None) -> Output[GetProjectVariableResult]func LookupProjectVariable(ctx *Context, args *LookupProjectVariableArgs, opts ...InvokeOption) (*LookupProjectVariableResult, error)
func LookupProjectVariableOutput(ctx *Context, args *LookupProjectVariableOutputArgs, opts ...InvokeOption) LookupProjectVariableResultOutput> Note: This function is named LookupProjectVariable in the Go SDK.
public static class GetProjectVariable 
{
    public static Task<GetProjectVariableResult> InvokeAsync(GetProjectVariableArgs args, InvokeOptions? opts = null)
    public static Output<GetProjectVariableResult> Invoke(GetProjectVariableInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetProjectVariableResult> getProjectVariable(GetProjectVariableArgs args, InvokeOptions options)
public static Output<GetProjectVariableResult> getProjectVariable(GetProjectVariableArgs args, InvokeOptions options)
fn::invoke:
  function: gitlab:index/getProjectVariable:getProjectVariable
  arguments:
    # arguments dictionaryThe following arguments are supported:
- Key string
 - The name of the variable.
 - Project string
 - The name or id of the project.
 - 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.
 - Project string
 - The name or id of the project.
 - 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.
 - project String
 - The name or id of the project.
 - 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.
 - project string
 - The name or id of the project.
 - 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 str
 - The name of the variable.
 - project str
 - The name or id of the project.
 - 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 String
 - The name of the variable.
 - project String
 - The name or id of the project.
 - 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. 
getProjectVariable Result
The following output properties are available:
- 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. - Id string
 - The provider-assigned unique ID for this managed resource.
 - 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. - Id string
 - The provider-assigned unique ID for this managed resource.
 - 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. - id String
 - The provider-assigned unique ID for this managed resource.
 - 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. - id string
 - The provider-assigned unique ID for this managed resource.
 - 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. - id str
 - The provider-assigned unique ID for this managed resource.
 - 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. - id String
 - The provider-assigned unique ID for this managed resource.
 - 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.