Documentation
¶
Overview ¶
Package customemoji implements MCP tools for GitLab group custom emoji operations.
The package wraps GitLab GraphQL custom emoji fields:
Index ¶
- func ActionSpecs(client *gitlabclient.Client) []toolutil.ActionSpec
- func Delete(ctx context.Context, client *gitlabclient.Client, input DeleteInput) error
- func DeleteOutput(ctx context.Context, client *gitlabclient.Client, input DeleteInput) (toolutil.DeleteOutput, error)
- func FormatCreateMarkdown(out CreateOutput) string
- func FormatListMarkdown(out ListOutput) string
- type CreateInput
- type CreateOutput
- type DeleteInput
- type Item
- type ListInput
- type ListOutput
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 custom emoji actions.
func Delete ¶
func Delete(ctx context.Context, client *gitlabclient.Client, input DeleteInput) error
Delete removes a custom emoji via the GitLab GraphQL API.
func DeleteOutput ¶
func DeleteOutput(ctx context.Context, client *gitlabclient.Client, input DeleteInput) (toolutil.DeleteOutput, error)
DeleteOutput deletes a custom emoji and returns the canonical success message shape.
func FormatCreateMarkdown ¶
func FormatCreateMarkdown(out CreateOutput) string
FormatCreateMarkdown renders a single created custom emoji as Markdown.
func FormatListMarkdown ¶
func FormatListMarkdown(out ListOutput) string
FormatListMarkdown renders a paginated list of custom emoji as Markdown.
Types ¶
type CreateInput ¶
type CreateInput struct {
GroupPath string `json:"group_path" jsonschema:"required,Group full path (e.g. my-group)"`
Name string `json:"name" jsonschema:"required,Emoji name without colons (e.g. party_parrot)"`
URL string `json:"url" jsonschema:"required,URL to the emoji image (PNG or GIF recommended)"`
}
CreateInput is the input for creating a custom emoji.
type CreateOutput ¶
type CreateOutput struct {
toolutil.HintableOutput
Emoji Item `json:"emoji"`
}
CreateOutput is the output for creating a custom emoji.
func Create ¶
func Create(ctx context.Context, client *gitlabclient.Client, input CreateInput) (CreateOutput, error)
Create adds a new custom emoji to a group via the GitLab GraphQL API.
type DeleteInput ¶
type DeleteInput struct {
ID string `json:"id" jsonschema:"required,Custom emoji GID (e.g. gid://gitlab/CustomEmoji/1)"`
}
DeleteInput is the input for deleting a custom emoji.
type Item ¶
type Item struct {
ID string `json:"id"`
Name string `json:"name"`
URL string `json:"url"`
External bool `json:"external"`
CreatedAt string `json:"created_at,omitempty"`
}
Item represents a custom emoji in a GitLab group.
type ListInput ¶
type ListInput struct {
GroupPath string `json:"group_path" jsonschema:"required,Group full path (e.g. my-group)"`
toolutil.GraphQLPaginationInput
}
ListInput is the input for listing custom emoji.
type ListOutput ¶
type ListOutput struct {
toolutil.HintableOutput
Emoji []Item `json:"emoji"`
Pagination toolutil.GraphQLPaginationOutput `json:"pagination"`
}
ListOutput is the output for listing custom emoji.
func List ¶
func List(ctx context.Context, client *gitlabclient.Client, input ListInput) (ListOutput, error)
List retrieves custom emoji for a group via the GitLab GraphQL API.