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.