Easy Bulk Import Issues
All-in-one command covering bulk, import, github, issues. Includes structured workflows, validation checks, and reusable patterns for sync.
Easy Bulk Import Issues
Bulk import GitHub issues to Linear with automated field mapping, label conversion, priority assignment, and progress tracking for large-scale project migrations.
When to Use This Command
Run this command when...
- You are migrating a project from GitHub Issues to Linear and need to transfer dozens or hundreds of issues with their metadata preserved
- You want automated mapping of GitHub labels to Linear labels, milestones to projects, and assignees to team members
- Your migration requires filtering, transformation, or enrichment of issues during the import process
Do NOT use this command when...
- You need to import a single issue -- use the issue-to-linear command for individual transfers
- You want bidirectional sync rather than a one-time import -- use the bidirectional invoker command
Quick Start
# .claude/commands/easy-bulk-import-issues.md # Bulk import GitHub issues to Linear Import: $ARGUMENTS
# Run the command claude "easy-bulk-import-issues import all open bugs from github.com/org/repo to Linear Backend team"
Expected output:
- Issue inventory with count and metadata summary
- Field mapping configuration (labels, assignees, priorities)
- Import progress with success/skip/error counts
- Cross-reference links between GitHub and Linear items
- Migration summary report
Core Concepts
| Concept | Description |
|---|---|
| Issue Inventory | Scanning and cataloging all GitHub issues matching the import criteria |
| Field Mapping | Converting GitHub fields (labels, milestones, assignees) to Linear equivalents |
| Batch Processing | Importing issues in batches with rate limiting and error handling |
| Cross-Referencing | Adding bidirectional links between original GitHub issues and new Linear tasks |
| Progress Tracking | Real-time reporting of import progress with error recovery |
Bulk Import Pipeline:
GitHub Repository
|
[Scan Issues (filter)]
|
[Inventory & Preview]
|
+----+----+----+
| | | |
Map Map Map Map
Labels Assign Priority Status
| | | |
[Batch Import to Linear]
|
[Add Cross-References]
|
Migration Report
Configuration
| Parameter | Default | Description |
|---|---|---|
| Filter | All open issues | GitHub issue state and label filters for import selection |
| Batch Size | 25 | Number of issues processed per API batch |
| Label Mapping | Auto-match by name | How GitHub labels map to Linear labels |
| Assignee Mapping | By email | How GitHub usernames map to Linear team members |
| Dry Run | Preview first | Show what would be imported before executing |
Best Practices
- Preview before importing -- always run with dry-run mode first to verify the issue count, field mappings, and any items that will be skipped or need manual attention
- Map labels in advance -- create matching labels in Linear before importing, or provide an explicit mapping. Auto-matching by name only works if label names are identical
- Import in phases -- start with a small batch (10-20 issues) to validate the mapping, then import the remainder. This catches configuration errors early
- Preserve GitHub references -- configure cross-referencing to add the GitHub issue URL in the Linear task description for traceability back to the original
- Handle attachments separately -- GitHub issue attachments (images, files) may not transfer automatically. Review the migration report for items with attachments needing manual handling
Common Issues
- Rate limiting errors -- GitHub and Linear APIs have rate limits. Reduce batch size and add delays between batches if you encounter 429 status codes
- Missing assignees -- GitHub usernames that do not match any Linear team member will result in unassigned tasks. Provide an explicit user mapping for accuracy
- Duplicate imports on re-run -- if the command is run twice, it may create duplicates. Use the cross-reference check to skip already-imported issues on subsequent runs
Reviews
No reviews yet. Be the first to review this template!
Similar Templates
Git Commit Message Generator
Generates well-structured conventional commit messages by analyzing staged changes. Follows Conventional Commits spec with scope detection.
React Component Scaffolder
Scaffolds a complete React component with TypeScript types, Tailwind styles, Storybook stories, and unit tests. Follows project conventions automatically.
CI/CD Pipeline Generator
Generates GitHub Actions workflows for CI/CD including linting, testing, building, and deploying. Detects project stack automatically.