Help us shape the future of Go! Take the 2026 Go Developer Survey

instancevariables

package
v2.7.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package instancevariables implements MCP tools for GitLab instance CI/CD variable operations.

The package wraps the GitLab Instance-level CI/CD variables API:

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ActionSpecs

func ActionSpecs(client *gitlabclient.Client) []toolutil.ActionSpec

ActionSpecs returns canonical specs for instance CI/CD variable actions.

func Delete

func Delete(ctx context.Context, client *gitlabclient.Client, input DeleteInput) error

Delete removes an instance-level CI/CD variable by key.

func FormatListMarkdown

func FormatListMarkdown(out ListOutput) string

FormatListMarkdown renders a paginated list of instance CI/CD variables as a Markdown table.

func FormatOutputMarkdown

func FormatOutputMarkdown(v Output) string

FormatOutputMarkdown renders a single instance CI/CD variable as Markdown.

Types

type CreateInput

type CreateInput struct {
	Key          string `json:"key"                        jsonschema:"Variable key name,required"`
	Value        string `json:"value"                      jsonschema:"Variable value"`
	Description  string `json:"description,omitempty"      jsonschema:"Variable description"`
	VariableType string `json:"variable_type,omitempty"    jsonschema:"Variable type: env_var or file"`
	Protected    *bool  `json:"protected,omitempty"        jsonschema:"Only expose in protected branches/tags"`
	Masked       *bool  `json:"masked,omitempty"           jsonschema:"Mask variable value in job logs"`
	Raw          *bool  `json:"raw,omitempty"              jsonschema:"Treat variable value as raw string"`
}

CreateInput holds parameters for creating an instance CI/CD variable.

type DeleteInput

type DeleteInput struct {
	Key string `json:"key" jsonschema:"Variable key name,required"`
}

DeleteInput holds parameters for deleting an instance CI/CD variable.

type GetInput

type GetInput struct {
	Key string `json:"key" jsonschema:"Variable key name,required"`
}

GetInput holds parameters for retrieving a single instance CI/CD variable.

type ListInput

type ListInput struct {
	OrderBy string `json:"order_by,omitempty" jsonschema:"Column by which to order keyset-paginated results"`
	Sort    string `json:"sort,omitempty" jsonschema:"Sort direction for keyset-paginated results (asc, desc)"`
	toolutil.PaginationInput
	toolutil.KeysetPaginationInput
}

ListInput holds parameters for listing instance CI/CD variables. The OrderBy, Sort, and embedded KeysetPaginationInput fields mirror the SDK gl.ListInstanceVariablesOptions (its embedded gl.ListOptions: order_by, sort, pagination, page_token) so every supported list filter is exposed 1:1.

type ListOutput

type ListOutput struct {
	toolutil.HintableOutput
	Variables  []Output                  `json:"variables"`
	Pagination toolutil.PaginationOutput `json:"pagination"`
}

ListOutput represents a paginated list of instance CI/CD variables.

func List

func List(ctx context.Context, client *gitlabclient.Client, input ListInput) (ListOutput, error)

List retrieves a paginated list of instance-level CI/CD variables.

type Output

type Output struct {
	toolutil.HintableOutput
	Key          string `json:"key"`
	Value        string `json:"value"`
	VariableType string `json:"variable_type"`
	Protected    bool   `json:"protected"`
	Masked       bool   `json:"masked"`
	Raw          bool   `json:"raw"`
	Description  string `json:"description"`
}

Output represents a single instance CI/CD variable.

func Create

func Create(ctx context.Context, client *gitlabclient.Client, input CreateInput) (Output, error)

Create creates a new instance-level CI/CD variable.

func Get

func Get(ctx context.Context, client *gitlabclient.Client, input GetInput) (Output, error)

Get retrieves a single instance-level CI/CD variable by key.

func Update

func Update(ctx context.Context, client *gitlabclient.Client, input UpdateInput) (Output, error)

Update modifies an existing instance-level CI/CD variable.

type UpdateInput

type UpdateInput struct {
	Key          string `json:"key"                        jsonschema:"Variable key name,required"`
	Value        string `json:"value,omitempty"            jsonschema:"Updated variable value"`
	Description  string `json:"description,omitempty"      jsonschema:"Updated variable description"`
	VariableType string `json:"variable_type,omitempty"    jsonschema:"Variable type: env_var or file"`
	Protected    *bool  `json:"protected,omitempty"        jsonschema:"Only expose in protected branches/tags"`
	Masked       *bool  `json:"masked,omitempty"           jsonschema:"Mask variable value in job logs"`
	Raw          *bool  `json:"raw,omitempty"              jsonschema:"Treat variable value as raw string"`
}

UpdateInput holds parameters for updating an instance CI/CD variable.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL