技能 编程开发 Linear迁移深度指南

Linear迁移深度指南

v20260311
linear-migration-deep-dive
针对 Jira、Asana 等系统向 Linear 迁移提供评估、导出、转换、批量导入、校验与报告等全流程操作指南,适合规划或执行迁移时参考。
获取技能
303 次下载
概览

Linear Migration Deep Dive

Contents

Overview

Comprehensive guide for migrating from Jira, Asana, or other issue trackers to Linear, covering assessment, workflow mapping, data export, transformation, batch import, validation, and post-migration reporting.

Prerequisites

  • Admin access to source system (Jira/Asana/GitHub)
  • Linear workspace with admin access
  • API access to both systems
  • Migration timeline and rollback plan

Instructions

Step 1: Migration Assessment

Complete the assessment checklist: data volume (issues, projects, users, attachments, custom fields), workflow analysis (statuses, transitions, automations, integrations), user mapping (source to Linear users), and timeline (migration window, parallel run period, cutover date, rollback deadline).

Step 2: Workflow Mapping

Define status, priority, and issue type mappings for each source system. Jira statuses map to Linear states (e.g., "To Do" -> "Todo", "In Progress" -> "In Progress", "Blocked" -> "In Progress" with label). Jira priorities map to Linear 1-4 scale. Jira issue types become Linear labels. Asana sections map similarly to Linear states.

Step 3: Export from Source System

Build exporters for each source: exportJiraProject() using JQL with pagination (100 per page), fetching summary, description, status, priority, type, assignee, labels, story points, and parent/subtask relations. exportAsanaProject() using the Asana SDK to fetch tasks with section names, tags, assignees, and hierarchy. Save exports as timestamped JSON backups.

Step 4: Transform Data

Create transformJiraIssue() that maps each source issue to LinearIssueInput: resolve status to stateId, priority to number, assignee email to Linear userId, issue type and labels to labelIds, story points to estimate, and convert Jira markup to Markdown (headers, bold/italic, code blocks, lists, links).

Step 5: Import to Linear

Build importToLinear() that sorts issues by hierarchy (parents first), checks for duplicates, transforms each issue, sets parentId for subtasks, creates via linearClient.createIssue(), tracks the sourceId-to-linearId mapping, and respects rate limits (100ms between requests). Track stats: total, created, skipped, errors.

Step 6: Validation and Post-Migration

Run validateMigration() to verify all issues were imported, then sample 50 issues to check title, priority, and state mappings. Generate a migration report with statistics, ID mapping table, and error list. Follow the post-migration checklist: verify critical issues, update integrations, archive source after parallel run, train team.

See detailed implementation for complete Jira/Asana exporters, data transformer with Jira-to-Markdown converter, batch importer with hierarchy sorting, validation script, and migration report generator.

Output

  • Migration assessment checklist
  • Workflow mapping tables (status, priority, type)
  • Source system exporters (Jira, Asana)
  • Data transformer with markup conversion
  • Batch importer with hierarchy support
  • Validation and migration report

Error Handling

Issue Cause Solution
User not found Unmapped user Add to user mapping
Rate limited Too fast import Add delays between requests
State not found Unmapped status Update state mapping
Parent not found Import order wrong Sort by hierarchy first

Examples

Basic usage: Apply linear migration deep dive to a standard project setup with default configuration options.

Advanced scenario: Customize linear migration deep dive for production environments with multiple constraints and team-specific requirements.

Resources

Next Steps

You have completed the Linear Flagship Skill Pack. You now have comprehensive knowledge of Linear integrations from basic setup through enterprise deployment.

信息
Category 编程开发
Name linear-migration-deep-dive
版本 v20260311
大小 5.58KB
更新时间 2026-03-12
语言