Documentation
¶
Overview ¶
Package bulkimports implements MCP tools for GitLab Bulk Imports API.
Index ¶
- func FormatEntityFailuresMarkdown(out ListEntityFailuresOutput) string
- func FormatGetEntityMarkdown(e EntitySummary) string
- func FormatGetMarkdown(out MigrationSummary) string
- func FormatListEntitiesMarkdown(out ListEntitiesOutput) string
- func FormatListMarkdown(out ListOutput) string
- func FormatStartMigrationMarkdown(out MigrationOutput) string
- func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
- type CancelInput
- type EntityFailure
- type EntityInput
- type EntityStats
- type EntitySummary
- type GetEntityInput
- type GetInput
- type ListEntitiesInput
- type ListEntitiesOutput
- type ListEntityFailuresInput
- type ListEntityFailuresOutput
- type ListInput
- type ListOutput
- type MigrationOutput
- type MigrationSummary
- type StartMigrationInput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FormatEntityFailuresMarkdown ¶ added in v1.3.3
func FormatEntityFailuresMarkdown(out ListEntityFailuresOutput) string
FormatEntityFailuresMarkdown formats migration entity failures as markdown.
func FormatGetEntityMarkdown ¶ added in v1.3.3
func FormatGetEntityMarkdown(e EntitySummary) string
FormatGetEntityMarkdown formats a single bulk import entity as markdown.
func FormatGetMarkdown ¶ added in v1.3.3
func FormatGetMarkdown(out MigrationSummary) string
FormatGetMarkdown formats a single bulk import migration as markdown.
func FormatListEntitiesMarkdown ¶ added in v1.3.3
func FormatListEntitiesMarkdown(out ListEntitiesOutput) string
FormatListEntitiesMarkdown formats a list of bulk import entities as markdown.
func FormatListMarkdown ¶ added in v1.3.3
func FormatListMarkdown(out ListOutput) string
FormatListMarkdown formats a list of bulk import migrations as markdown.
func FormatStartMigrationMarkdown ¶
func FormatStartMigrationMarkdown(out MigrationOutput) string
FormatStartMigrationMarkdown formats a start migration result as markdown.
func RegisterTools ¶
func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
RegisterTools registers all bulk import MCP tools.
Types ¶
type CancelInput ¶ added in v1.3.3
type CancelInput struct {
ID int64 `json:"id" jsonschema:"Bulk import ID,required"`
}
CancelInput defines parameters for canceling a bulk import migration.
type EntityFailure ¶ added in v1.3.3
type EntityFailure struct {
Relation string `json:"relation"`
ExceptionMessage string `json:"exception_message"`
ExceptionClass string `json:"exception_class"`
CorrelationIDValue string `json:"correlation_id_value"`
SourceURL string `json:"source_url"`
SourceTitle string `json:"source_title"`
Step string `json:"step"`
CreatedAt string `json:"created_at"`
PipelineClass string `json:"pipeline_class"`
PipelineStep string `json:"pipeline_step"`
}
EntityFailure describes a single failed import record for a migration entity.
type EntityInput ¶
type EntityInput struct {
SourceType string `json:"source_type" jsonschema:"Source type: group_entity or project_entity"`
SourceFullPath string `json:"source_full_path" jsonschema:"Full path of the source entity"`
DestinationSlug string `json:"destination_slug" jsonschema:"Slug for destination"`
DestinationNamespace string `json:"destination_namespace" jsonschema:"Destination namespace path"`
MigrateProjects *bool `json:"migrate_projects,omitempty" jsonschema:"Whether to migrate projects"`
MigrateMemberships *bool `json:"migrate_memberships,omitempty" jsonschema:"Whether to migrate memberships"`
}
EntityInput represents a single entity to migrate.
type EntityStats ¶ added in v1.3.3
type EntityStats struct {
LabelsSource int `json:"labels_source"`
LabelsFetched int `json:"labels_fetched"`
LabelsImported int `json:"labels_imported"`
MilestonesSource int `json:"milestones_source"`
MilestonesFetched int `json:"milestones_fetched"`
MilestonesImported int `json:"milestones_imported"`
}
EntityStats summarizes per-relation import counts for a migration entity.
type EntitySummary ¶ added in v1.3.3
type EntitySummary struct {
ID int64 `json:"id"`
BulkImportID int64 `json:"bulk_import_id"`
Status string `json:"status"`
EntityType string `json:"entity_type"`
SourceFullPath string `json:"source_full_path"`
DestinationFullPath string `json:"destination_full_path"`
DestinationName string `json:"destination_name"`
DestinationSlug string `json:"destination_slug"`
DestinationNamespace string `json:"destination_namespace"`
ParentID *int64 `json:"parent_id,omitempty"`
NamespaceID *int64 `json:"namespace_id,omitempty"`
ProjectID *int64 `json:"project_id,omitempty"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
MigrateProjects bool `json:"migrate_projects"`
MigrateMemberships bool `json:"migrate_memberships"`
HasFailures bool `json:"has_failures"`
Stats EntityStats `json:"stats"`
}
EntitySummary describes a single bulk import migration entity (group or project).
func GetEntity ¶ added in v1.3.3
func GetEntity(ctx context.Context, client *gitlabclient.Client, input GetEntityInput) (EntitySummary, error)
GetEntity retrieves a single migration entity by ID.
type GetEntityInput ¶ added in v1.3.3
type GetEntityInput struct {
BulkImportID int64 `json:"bulk_import_id" jsonschema:"Bulk import ID,required"`
EntityID int64 `json:"entity_id" jsonschema:"Entity ID within the bulk import,required"`
}
GetEntityInput defines parameters for retrieving a single bulk import entity.
type GetInput ¶ added in v1.3.3
type GetInput struct {
ID int64 `json:"id" jsonschema:"Bulk import ID,required"`
}
GetInput defines parameters for retrieving a single bulk import migration.
type ListEntitiesInput ¶ added in v1.3.3
type ListEntitiesInput struct {
BulkImportID int64 `json:"bulk_import_id,omitempty" jsonschema:"Bulk import ID. If omitted, returns entities across all imports."`
Status string `json:"status,omitempty" jsonschema:"Filter by entity status: created, started, finished, timeout, failed, canceled"`
toolutil.PaginationInput
}
ListEntitiesInput defines parameters for listing bulk import entities. When BulkImportID > 0, entities are scoped to that import; otherwise all entities visible to the caller are returned.
type ListEntitiesOutput ¶ added in v1.3.3
type ListEntitiesOutput struct {
toolutil.HintableOutput
Entities []EntitySummary `json:"entities"`
Pagination toolutil.PaginationOutput `json:"pagination"`
}
ListEntitiesOutput holds the paginated list of bulk import entities.
func ListEntities ¶ added in v1.3.3
func ListEntities(ctx context.Context, client *gitlabclient.Client, input ListEntitiesInput) (ListEntitiesOutput, error)
ListEntities returns bulk import entities, optionally scoped to a single import.
type ListEntityFailuresInput ¶ added in v1.3.3
type ListEntityFailuresInput struct {
BulkImportID int64 `json:"bulk_import_id" jsonschema:"Bulk import ID,required"`
EntityID int64 `json:"entity_id" jsonschema:"Entity ID within the bulk import,required"`
}
ListEntityFailuresInput defines parameters for listing failures of a migration entity.
type ListEntityFailuresOutput ¶ added in v1.3.3
type ListEntityFailuresOutput struct {
toolutil.HintableOutput
BulkImportID int64 `json:"bulk_import_id"`
EntityID int64 `json:"entity_id"`
Failures []EntityFailure `json:"failures"`
}
ListEntityFailuresOutput holds the failure records for a migration entity.
func ListEntityFailures ¶ added in v1.3.3
func ListEntityFailures(ctx context.Context, client *gitlabclient.Client, input ListEntityFailuresInput) (ListEntityFailuresOutput, error)
ListEntityFailures returns failed import records for a single migration entity.
type ListInput ¶ added in v1.3.3
type ListInput struct {
Status string `json:"status,omitempty" jsonschema:"Filter by status: created, started, finished, timeout, failed, canceled"`
toolutil.PaginationInput
}
ListInput defines parameters for listing bulk import migrations.
type ListOutput ¶ added in v1.3.3
type ListOutput struct {
toolutil.HintableOutput
Migrations []MigrationSummary `json:"migrations"`
Pagination toolutil.PaginationOutput `json:"pagination"`
}
ListOutput holds the paginated list of bulk import migrations.
func List ¶ added in v1.3.3
func List(ctx context.Context, client *gitlabclient.Client, input ListInput) (ListOutput, error)
List returns all bulk import migrations visible to the caller.
type MigrationOutput ¶
type MigrationOutput struct {
toolutil.HintableOutput
ID int64 `json:"id"`
Status string `json:"status"`
SourceType string `json:"source_type"`
SourceURL string `json:"source_url"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
HasFailures bool `json:"has_failures"`
}
MigrationOutput is the output for a bulk import migration.
func StartMigration ¶
func StartMigration(ctx context.Context, client *gitlabclient.Client, input StartMigrationInput) (MigrationOutput, error)
StartMigration starts a new bulk import migration.
type MigrationSummary ¶ added in v1.3.3
type MigrationSummary struct {
ID int64 `json:"id"`
Status string `json:"status"`
SourceType string `json:"source_type"`
SourceURL string `json:"source_url"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
HasFailures bool `json:"has_failures"`
}
MigrationSummary is a single bulk import migration entry returned by list/get.
func Cancel ¶ added in v1.3.3
func Cancel(ctx context.Context, client *gitlabclient.Client, input CancelInput) (MigrationSummary, error)
Cancel cancels an in-progress bulk import migration.
func Get ¶ added in v1.3.3
func Get(ctx context.Context, client *gitlabclient.Client, input GetInput) (MigrationSummary, error)
Get retrieves a single bulk import migration by ID.
type StartMigrationInput ¶
type StartMigrationInput struct {
URL string `json:"url" jsonschema:"Source GitLab instance URL,required"`
AccessToken string `json:"access_token" jsonschema:"Personal access token for source instance,required"`
Entities []EntityInput `json:"entities" jsonschema:"List of entities to migrate,required"`
}
StartMigrationInput is the input for starting a bulk import migration.