GitLab v8.10.0 published on Friday, Mar 21, 2025 by Pulumi
gitlab.getGroupVariable
Explore with Pulumi AI
The gitlab.GroupVariable data source allows to retrieve details about a group-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.getGroupVariable({
    group: "my/example/group",
    key: "foo",
});
// Using an environment scope
const bar = gitlab.getGroupVariable({
    group: "my/example/group",
    key: "bar",
    environmentScope: "staging/*",
});
import pulumi
import pulumi_gitlab as gitlab
foo = gitlab.get_group_variable(group="my/example/group",
    key="foo")
# Using an environment scope
bar = gitlab.get_group_variable(group="my/example/group",
    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.LookupGroupVariable(ctx, &gitlab.LookupGroupVariableArgs{
			Group: "my/example/group",
			Key:   "foo",
		}, nil)
		if err != nil {
			return err
		}
		// Using an environment scope
		_, err = gitlab.LookupGroupVariable(ctx, &gitlab.LookupGroupVariableArgs{
			Group:            "my/example/group",
			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.GetGroupVariable.Invoke(new()
    {
        Group = "my/example/group",
        Key = "foo",
    });
    // Using an environment scope
    var bar = GitLab.GetGroupVariable.Invoke(new()
    {
        Group = "my/example/group",
        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.GetGroupVariableArgs;
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.getGroupVariable(GetGroupVariableArgs.builder()
            .group("my/example/group")
            .key("foo")
            .build());
        // Using an environment scope
        final var bar = GitlabFunctions.getGroupVariable(GetGroupVariableArgs.builder()
            .group("my/example/group")
            .key("bar")
            .environmentScope("staging/*")
            .build());
    }
}
variables:
  foo:
    fn::invoke:
      function: gitlab:getGroupVariable
      arguments:
        group: my/example/group
        key: foo
  # Using an environment scope
  bar:
    fn::invoke:
      function: gitlab:getGroupVariable
      arguments:
        group: my/example/group
        key: bar
        environmentScope: staging/*
Using getGroupVariable
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 getGroupVariable(args: GetGroupVariableArgs, opts?: InvokeOptions): Promise<GetGroupVariableResult>
function getGroupVariableOutput(args: GetGroupVariableOutputArgs, opts?: InvokeOptions): Output<GetGroupVariableResult>def get_group_variable(environment_scope: Optional[str] = None,
                       group: Optional[str] = None,
                       key: Optional[str] = None,
                       opts: Optional[InvokeOptions] = None) -> GetGroupVariableResult
def get_group_variable_output(environment_scope: Optional[pulumi.Input[str]] = None,
                       group: Optional[pulumi.Input[str]] = None,
                       key: Optional[pulumi.Input[str]] = None,
                       opts: Optional[InvokeOptions] = None) -> Output[GetGroupVariableResult]func LookupGroupVariable(ctx *Context, args *LookupGroupVariableArgs, opts ...InvokeOption) (*LookupGroupVariableResult, error)
func LookupGroupVariableOutput(ctx *Context, args *LookupGroupVariableOutputArgs, opts ...InvokeOption) LookupGroupVariableResultOutput> Note: This function is named LookupGroupVariable in the Go SDK.
public static class GetGroupVariable 
{
    public static Task<GetGroupVariableResult> InvokeAsync(GetGroupVariableArgs args, InvokeOptions? opts = null)
    public static Output<GetGroupVariableResult> Invoke(GetGroupVariableInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetGroupVariableResult> getGroupVariable(GetGroupVariableArgs args, InvokeOptions options)
public static Output<GetGroupVariableResult> getGroupVariable(GetGroupVariableArgs args, InvokeOptions options)
fn::invoke:
  function: gitlab:index/getGroupVariable:getGroupVariable
  arguments:
    # arguments dictionaryThe following arguments are supported:
- Group string
 - The name or id of the group.
 - Key string
 - The name 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. 
- Group string
 - The name or id of the group.
 - Key string
 - The name 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. 
- group String
 - The name or id of the group.
 - key String
 - The name 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. 
- group string
 - The name or id of the group.
 - key string
 - The name 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. 
- group str
 - The name or id of the group.
 - key str
 - The name 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. 
- group String
 - The name or id of the group.
 - key String
 - The name 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. 
getGroupVariable 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. - Group string
 - The name or id of the group.
 - Id string
 - 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. - Protected bool
 - If set to 
true, the variable will be passed only to pipelines running on protected branches and tags - 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. 
- 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. - Group string
 - The name or id of the group.
 - Id string
 - 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. - Protected bool
 - If set to 
true, the variable will be passed only to pipelines running on protected branches and tags - 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. 
- 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. - group String
 - The name or id of the group.
 - id String
 - 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. - protected_ Boolean
 - If set to 
true, the variable will be passed only to pipelines running on protected branches and tags - 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. 
- 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. - group string
 - The name or id of the group.
 - id string
 - 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. - protected boolean
 - If set to 
true, the variable will be passed only to pipelines running on protected branches and tags - 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. 
- 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. - group str
 - The name or id of the group.
 - id str
 - 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. - protected bool
 - If set to 
true, the variable will be passed only to pipelines running on protected branches and tags - 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. 
- 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. - group String
 - The name or id of the group.
 - id String
 - 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. - protected Boolean
 - If set to 
true, the variable will be passed only to pipelines running on protected branches and tags - 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. 
Package Details
- Repository
 - GitLab pulumi/pulumi-gitlab
 - License
 - Apache-2.0
 - Notes
 - This Pulumi package is based on the 
gitlabTerraform Provider.