CodeCargo logo

Core Concepts

Migration Assistant

What is Migration Assistant?

Preview Feature

Migration Assistant is currently in preview. The feature is marked as "Preview" in the dashboard header while we gather feedback and refine the experience.

Migration Assistant helps you migrate legacy CI/CD systems to GitHub Actions workflows. It ingests data from your existing CI/CD platform, walks you through a mapping wizard, and produces CodeCargo workspaces ready for AI-assisted conversion to GitHub Actions.

Currently supported source systems:

  • Jenkins - Import jobs, pipelines, plugins, and credentials

The data model and UI are designed to be source-agnostic, making it straightforward to add support for additional CI/CD platforms in the future.


Getting Started

Access Migration Assistant from the organization sidebar under Migration Assistant. The main interface provides three ways to work with migrations:

Dashboard

View all imported migration data with statistics, filters, and inline editing capabilities:

  • Summary statistics - jobs imported, mappings configured, repositories matched
  • Filter controls - search by job name, filter by status or repository
  • Inline mapping edits - update repository and migration mappings directly from the dashboard
  • Per-job migration launch - trigger "Migrate in Editor" for individual jobs

Import Wizard

The import process follows a structured workflow:

  1. Upload - Import data from your legacy CI/CD system
  2. Review - Examine imported jobs, plugins, and credentials
  3. Repository Mapping - Match legacy jobs to GitHub repositories
  4. Reusable Building Blocks - Identify common patterns for reuse
  5. Plugin & Credential Mappings - Map legacy plugins to GitHub Actions
  6. Migration Mappings - Configure job-level migration settings
  7. Confirm - Review summary and complete the import

The confirmation step shows at-a-glance summary cards with net changes, configured mappings, and jobs ready for migration.

Migrate

Launch individual job migrations into the GenAI Editor for AI-assisted conversion to GitHub Actions.


Jenkins Import

Migration Assistant includes a dedicated Jenkins importer that extracts comprehensive data from your Jenkins instance.

What Gets Imported

  • Jobs and Pipelines - All job configurations and pipeline definitions
  • Plugins - Installed plugins and their configurations
  • Credentials - Credential definitions (values are not imported for security)
  • Shared Libraries - Global pipeline libraries
  • System Configuration - Relevant Jenkins system settings

Import Methods

JSON Upload

Upload a pre-exported JSON file containing your Jenkins data:

  1. Navigate to Migration Assistant → Import → JSON
  2. Upload your Jenkins export file
  3. Follow the mapping wizard to configure your migration

Direct Jenkins Connection

Connect directly to your Jenkins instance for live data import:

  1. Navigate to Migration Assistant → Import → Jenkins
  2. Provide your Jenkins URL and authentication credentials
  3. The importer will extract data directly from your Jenkins API

Security

When connecting directly to Jenkins, only metadata and configuration are imported. Sensitive credential values are never extracted or stored.


Mapping Wizard

The mapping wizard guides you through configuring how your legacy CI/CD data translates to GitHub Actions.

Repository Mapping

Match Jenkins jobs to GitHub repositories using:

  • Fuzzy matching - Automatic suggestions based on job names and repository names
  • Manual selection - Choose specific repositories from your connected GitHub organization
  • Bulk operations - Apply mappings to multiple jobs at once

Plugin Mappings

Map Jenkins plugins to equivalent GitHub Actions:

  • Suggested mappings - Common plugin-to-action mappings are pre-configured
  • Custom mappings - Define your own mappings for organization-specific plugins
  • Action parameters - Configure how plugin settings translate to action inputs

Credential Mappings

Map Jenkins credentials to GitHub Secrets:

  • Secret naming - Define how Jenkins credential IDs map to GitHub Secret names
  • Scope mapping - Choose repository-level or organization-level secrets
  • Security notes - Guidance on recreating sensitive credentials in GitHub

Migration Settings

Configure job-level migration preferences:

  • Workflow naming - How Jenkins job names become GitHub workflow file names
  • Trigger mapping - How Jenkins triggers translate to GitHub workflow triggers
  • Environment mapping - Map Jenkins build environments to GitHub environments

Service Catalog Integration

Migration Assistant integrates with the Service Catalog to provide visibility into your migration progress:

Migration Nodes

  • Migration Assistant Container nodes - Represent the overall migration project
  • Migration Assistant Job nodes - Individual jobs from your legacy CI/CD system
  • Dependency visualization - See relationships between migrated and existing workflows

Graph Views

Migration components appear in both:

  • Organization graph - Overall migration progress across your organization
  • Per-service detail graph - Migration status for specific services and repositories

AI-Assisted Migration

Once your data is imported and mapped, use the GenAI Editor's migration mode for AI-assisted conversion.

Migration Mode Features

Enhanced Context

  • Source-specific system prompts (Jenkins-aware AI assistance)
  • Access to original source files (Jenkinsfiles, plugin configurations)
  • Migration mapping context for accurate conversions

Specialized File Tree

  • Source-side nodes showing original CI/CD files
  • GitHub Actions workflow files for comparison
  • Migration mapping references

Custom Syntax Support

  • Jenkinsfile syntax highlighting with custom Monarch tokenizer
  • GitHub Actions YAML with migration-aware suggestions
  • Side-by-side comparison views

Migration Workflow

  1. Select a job from the Migration Assistant dashboard
  2. Click "Migrate in Editor" to open the GenAI Editor in migration mode
  3. Review the source - examine the original Jenkins job configuration
  4. Use AI assistance - ask the Expert Workflow Agent to convert the job to GitHub Actions
  5. Refine and test - iterate on the generated workflow with AI help
  6. Create pull request - submit the new GitHub Actions workflow for review

Migration Context

The AI agent has full context of your migration mappings, so it can automatically apply your plugin-to-action mappings and credential references when generating GitHub Actions workflows.


Best Practices

Before You Start

  • Audit your Jenkins instance - Review active vs. inactive jobs
  • Document custom plugins - Note any organization-specific plugins that need special handling
  • Plan repository structure - Decide how Jenkins jobs map to your GitHub repository organization
  • Prepare credentials - Plan how to recreate sensitive credentials in GitHub Secrets

During Migration

  • Start with simple jobs - Begin with basic build jobs before tackling complex pipelines
  • Validate mappings - Test repository and plugin mappings with a few jobs before bulk operations
  • Use building blocks - Create reusable workflow templates for common patterns
  • Iterate incrementally - Migrate and test jobs in small batches

After Migration

  • Test thoroughly - Run migrated workflows in a test environment before production use
  • Update documentation - Ensure team documentation reflects the new GitHub Actions workflows
  • Train your team - Help developers understand the new GitHub Actions-based workflows
  • Monitor and optimize - Use CodeCargo's compliance and insights features to improve your workflows over time

Troubleshooting

Common Import Issues

Jenkins Connection Failures

  • Verify Jenkins URL and authentication credentials
  • Check network connectivity and firewall rules
  • Ensure Jenkins API is enabled and accessible

Incomplete Data Import

  • Review Jenkins permissions for the importing user
  • Check for plugin compatibility issues
  • Verify Jenkins version compatibility

Mapping Problems

Repository Matching Failures

  • Use manual repository selection for complex job names
  • Check GitHub App permissions for repository access
  • Verify repository names and organization settings

Plugin Mapping Gaps

  • Create custom mappings for organization-specific plugins
  • Consult GitHub Actions marketplace for equivalent actions
  • Consider workflow redesign for deprecated Jenkins plugins

Migration Issues

AI Conversion Problems

  • Provide more context about the original job's purpose
  • Break complex jobs into smaller, focused workflows
  • Review and adjust migration mappings for better AI context

Workflow Validation Failures

  • Use CodeCargo's compliance features to identify issues
  • Test workflows in a development environment first
  • Iterate with the AI agent to resolve syntax and logic problems
Previous
Operators & Settings