groupcredentials

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package groupcredentials implements GitLab group credential operations including listing and revoking personal access tokens and SSH keys for groups.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeleteSSHKey

func DeleteSSHKey(ctx context.Context, client *gitlabclient.Client, in DeleteSSHKeyInput) error

DeleteSSHKey deletes an SSH key from a group.

func FormatPATListMarkdown

func FormatPATListMarkdown(out PATListOutput) string

FormatPATListMarkdown formats a list of personal access tokens as Markdown.

func FormatPATMarkdown

func FormatPATMarkdown(out PATOutput) string

FormatPATMarkdown formats a single personal access token as Markdown.

func FormatSSHKeyListMarkdown

func FormatSSHKeyListMarkdown(out SSHKeyListOutput) string

FormatSSHKeyListMarkdown formats a list of SSH keys as Markdown.

func FormatSSHKeyMarkdown

func FormatSSHKeyMarkdown(out SSHKeyOutput) string

FormatSSHKeyMarkdown formats a single SSH key as Markdown.

func RegisterTools

func RegisterTools(server *mcp.Server, client *gitlabclient.Client)

RegisterTools registers MCP tools for GitLab group credential operations.

func RevokePAT

func RevokePAT(ctx context.Context, client *gitlabclient.Client, in RevokePATInput) error

RevokePAT revokes a personal access token for a group.

Types

type DeleteSSHKeyInput

type DeleteSSHKeyInput struct {
	GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
	KeyID   int64                `json:"key_id"   jsonschema:"SSH key ID,required"`
}

DeleteSSHKeyInput holds parameters for deleting a group SSH key.

type ListPATsInput

type ListPATsInput struct {
	GroupID toolutil.StringOrInt `json:"group_id"           jsonschema:"Group ID or URL-encoded path,required"`
	Search  string               `json:"search,omitempty"    jsonschema:"Filter tokens by name"`
	State   string               `json:"state,omitempty"     jsonschema:"Filter by state (active, inactive)"`
	Revoked *bool                `json:"revoked,omitempty"   jsonschema:"Filter by revoked status"`
	toolutil.PaginationInput
}

ListPATsInput holds parameters for listing group personal access tokens.

type ListSSHKeysInput

type ListSSHKeysInput struct {
	GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
	toolutil.PaginationInput
}

ListSSHKeysInput holds parameters for listing group SSH keys.

type PATListOutput

type PATListOutput struct {
	toolutil.HintableOutput
	Tokens     []PATOutput               `json:"tokens"`
	Pagination toolutil.PaginationOutput `json:"pagination"`
}

PATListOutput holds the list response for PATs.

func ListPATs

func ListPATs(ctx context.Context, client *gitlabclient.Client, in ListPATsInput) (PATListOutput, error)

ListPATs returns all personal access tokens for a group.

type PATOutput

type PATOutput struct {
	ID          int64    `json:"id"`
	Name        string   `json:"name"`
	Revoked     bool     `json:"revoked"`
	CreatedAt   string   `json:"created_at,omitempty"`
	Description string   `json:"description,omitempty"`
	Scopes      []string `json:"scopes,omitempty"`
	UserID      int64    `json:"user_id"`
	LastUsedAt  string   `json:"last_used_at,omitempty"`
	Active      bool     `json:"active"`
	ExpiresAt   string   `json:"expires_at,omitempty"`
	State       string   `json:"state,omitempty"`
}

PATOutput represents a group personal access token.

type RevokePATInput

type RevokePATInput struct {
	GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
	TokenID int64                `json:"token_id" jsonschema:"Personal access token ID,required"`
}

RevokePATInput holds parameters for revoking a group personal access token.

type SSHKeyListOutput

type SSHKeyListOutput struct {
	toolutil.HintableOutput
	Keys       []SSHKeyOutput            `json:"keys"`
	Pagination toolutil.PaginationOutput `json:"pagination"`
}

SSHKeyListOutput holds the list response for SSH keys.

func ListSSHKeys

func ListSSHKeys(ctx context.Context, client *gitlabclient.Client, in ListSSHKeysInput) (SSHKeyListOutput, error)

ListSSHKeys returns all SSH keys for a group.

type SSHKeyOutput

type SSHKeyOutput struct {
	ID         int64  `json:"id"`
	Title      string `json:"title"`
	Key        string `json:"key,omitempty"`
	CreatedAt  string `json:"created_at,omitempty"`
	ExpiresAt  string `json:"expires_at,omitempty"`
	LastUsedAt string `json:"last_used_at,omitempty"`
	UsageType  string `json:"usage_type,omitempty"`
	UserID     int64  `json:"user_id"`
}

SSHKeyOutput represents a group SSH key.

Jump to

Keyboard shortcuts

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