groupreleases

package
v2.5.2 Latest Latest
Warning

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

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

Documentation

Overview

Package groupreleases implements MCP tools for GitLab group release operations.

The package wraps the GitLab Group releases 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 group release actions.

func FormatListMarkdown

func FormatListMarkdown(out ListOutput) string

FormatListMarkdown renders a paginated list of group releases as Markdown.

Types

type CommitOutput added in v2.3.0

type CommitOutput struct {
	toolutil.CommitOutput
	WebURL string `json:"web_url,omitempty"`
}

CommitOutput extends toolutil.CommitOutput with the web_url field that the group-releases endpoint adds to the commit object (per doc/api/group_releases.md). All base fields (id, short_id, title, author_name, author_email, authored_date, committer_name, committer_email, committed_date, created_at, message, parent_ids) are promoted from toolutil.CommitOutput. SDK-only fields (stats, status, project_id) are not part of the documented commit subset and are intentionally omitted.

type ListInput

type ListInput struct {
	GroupID toolutil.StringOrInt `json:"group_id"           jsonschema:"Group ID or URL-encoded path,required"`
	Simple  bool                 `json:"simple,omitempty"   jsonschema:"Return only limited fields for each release"`
	OrderBy string               `json:"order_by,omitempty" jsonschema:"Order releases by a column (e.g. released_at, created_at)"`
	Sort    string               `json:"sort,omitempty"     jsonschema:"Sort direction (asc, desc)"`
	toolutil.PaginationInput
	toolutil.KeysetPaginationInput
}

ListInput defines parameters for the List action which retrieves all releases across projects in a group. It mirrors gl.ListGroupReleasesOptions (the embedded gl.ListOptions plus the simple flag) and exposes ordering and keyset pagination supported by the underlying gl.ListOptions.

type ListOutput

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

ListOutput holds a paginated list of group releases.

func List

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

List retrieves all releases across projects in a group.

type Output

type Output struct {
	TagName         string                      `json:"tag_name"`
	Name            string                      `json:"name"`
	Description     string                      `json:"description,omitempty"`
	DescriptionHTML string                      `json:"description_html,omitempty"`
	CreatedAt       string                      `json:"created_at"`
	ReleasedAt      string                      `json:"released_at,omitempty"`
	Author          *toolutil.AuthorOutput      `json:"author,omitempty"`
	Commit          *CommitOutput               `json:"commit,omitempty"`
	UpcomingRelease bool                        `json:"upcoming_release,omitempty"`
	Milestones      []*toolutil.MilestoneOutput `json:"milestones,omitempty"`
	CommitPath      string                      `json:"commit_path,omitempty"`
	TagPath         string                      `json:"tag_path,omitempty"`
	Assets          *toolutil.AssetsOutput      `json:"assets,omitempty"`
	Evidences       []*toolutil.EvidenceOutput  `json:"evidences,omitempty"`
	Links           *toolutil.LinksOutput       `json:"_links,omitempty"`
}

Output represents a release of a project within a group. Nested sub-objects (author, commit, assets, _links, milestones, evidences) mirror the corresponding client-go types field-for-field per the 1:1 audit policy. The group releases endpoint returns the same gl.Release payload as project releases. See shapes.go.

Jump to

Keyboard shortcuts

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