bulkimports

package
v1.0.2 Latest Latest
Warning

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

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

Documentation

Overview

Package bulkimports implements MCP tools for GitLab Bulk Imports API.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

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 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 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 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.

Jump to

Keyboard shortcuts

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