1. Packages
  2. Gitlab Provider
  3. API Docs
  4. getProjectVariable
GitLab v9.3.0 published on Monday, Sep 29, 2025 by Pulumi

gitlab.getProjectVariable

Get Started
gitlab logo
GitLab v9.3.0 published on Monday, Sep 29, 2025 by Pulumi

    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/v9/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 dictionary

    The following arguments are supported:

    Key string
    The name of the variable.
    Project string
    The name or path of the project.
    EnvironmentScope string
    The environment scope of the variable. Defaults to all environment (*).
    Key string
    The name of the variable.
    Project string
    The name or path of the project.
    EnvironmentScope string
    The environment scope of the variable. Defaults to all environment (*).
    key String
    The name of the variable.
    project String
    The name or path of the project.
    environmentScope String
    The environment scope of the variable. Defaults to all environment (*).
    key string
    The name of the variable.
    project string
    The name or path of the project.
    environmentScope string
    The environment scope of the variable. Defaults to all environment (*).
    key str
    The name of the variable.
    project str
    The name or path of the project.
    environment_scope str
    The environment scope of the variable. Defaults to all environment (*).
    key String
    The name of the variable.
    project String
    The name or path of the project.
    environmentScope String
    The environment scope of the variable. Defaults to all environment (*).

    getProjectVariable Result

    The following output properties are available:

    Description string
    The description of the variable. Maximum of 255 characters.
    EnvironmentScope string
    The environment scope of the variable. Defaults to all environment (*).
    Id string
    The ID of this datasource. In the format <project:key:environment-scope>.
    Key string
    The name of the variable.
    Masked bool
    If set to true, the value of the variable will be hidden in job logs.
    Project string
    The name or path of the project.
    Protected bool
    If set to true, the variable will be passed only to pipelines running on protected branches and tags.
    Raw bool
    If set to true, the variable will be treated as a raw string.
    Value string
    The value of the variable.
    VariableType string
    The type of the variable, either env_var or file.
    Description string
    The description of the variable. Maximum of 255 characters.
    EnvironmentScope string
    The environment scope of the variable. Defaults to all environment (*).
    Id string
    The ID of this datasource. In the format <project:key:environment-scope>.
    Key string
    The name of the variable.
    Masked bool
    If set to true, the value of the variable will be hidden in job logs.
    Project string
    The name or path of the project.
    Protected bool
    If set to true, the variable will be passed only to pipelines running on protected branches and tags.
    Raw bool
    If set to true, the variable will be treated as a raw string.
    Value string
    The value of the variable.
    VariableType string
    The type of the variable, either env_var or file.
    description String
    The description of the variable. Maximum of 255 characters.
    environmentScope String
    The environment scope of the variable. Defaults to all environment (*).
    id String
    The ID of this datasource. In the format <project:key:environment-scope>.
    key String
    The name of the variable.
    masked Boolean
    If set to true, the value of the variable will be hidden in job logs.
    project String
    The name or path of the project.
    protected_ Boolean
    If set to true, the variable will be passed only to pipelines running on protected branches and tags.
    raw Boolean
    If set to true, the variable will be treated as a raw string.
    value String
    The value of the variable.
    variableType String
    The type of the variable, either env_var or file.
    description string
    The description of the variable. Maximum of 255 characters.
    environmentScope string
    The environment scope of the variable. Defaults to all environment (*).
    id string
    The ID of this datasource. In the format <project:key:environment-scope>.
    key string
    The name of the variable.
    masked boolean
    If set to true, the value of the variable will be hidden in job logs.
    project string
    The name or path of the project.
    protected boolean
    If set to true, the variable will be passed only to pipelines running on protected branches and tags.
    raw boolean
    If set to true, the variable will be treated as a raw string.
    value string
    The value of the variable.
    variableType string
    The type of the variable, either env_var or file.
    description str
    The description of the variable. Maximum of 255 characters.
    environment_scope str
    The environment scope of the variable. Defaults to all environment (*).
    id str
    The ID of this datasource. In the format <project:key:environment-scope>.
    key str
    The name of the variable.
    masked bool
    If set to true, the value of the variable will be hidden in job logs.
    project str
    The name or path of the project.
    protected bool
    If set to true, the variable will be passed only to pipelines running on protected branches and tags.
    raw bool
    If set to true, the variable will be treated as a raw string.
    value str
    The value of the variable.
    variable_type str
    The type of the variable, either env_var or file.
    description String
    The description of the variable. Maximum of 255 characters.
    environmentScope String
    The environment scope of the variable. Defaults to all environment (*).
    id String
    The ID of this datasource. In the format <project:key:environment-scope>.
    key String
    The name of the variable.
    masked Boolean
    If set to true, the value of the variable will be hidden in job logs.
    project String
    The name or path of the project.
    protected Boolean
    If set to true, the variable will be passed only to pipelines running on protected branches and tags.
    raw Boolean
    If set to true, the variable will be treated as a raw string.
    value String
    The value of the variable.
    variableType String
    The type of the variable, either env_var or file.

    Package Details

    Repository
    GitLab pulumi/pulumi-gitlab
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the gitlab Terraform Provider.
    gitlab logo
    GitLab v9.3.0 published on Monday, Sep 29, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate