Skip to content

Issues Migration

What Gets Migrated

Issues are created on GitHub with the following structure:

**Migrated from Bitbucket**
- Original Author: @alice-github (or **Alice Smith** *(no GitHub account)*)
- Original Created: 2023-05-15T10:30:00Z
- Original URL: https://bitbucket.org/...
- Kind: bug
- Priority: major

---

[Original issue description]

GitHub displays:

  • Reporter: Your migration account (the person running the script)
  • Created Date: Today (migration date)
  • Assignee: Can be set if mapped (API supports this)

What IS Preserved

  • Issue Numbers: Preserved exactly from Bitbucket (placeholders fill gaps).
  • Title: Migrated as-is.
  • Description: Full content with markdown preserved.
  • Assignees: Set via API if user mapping exists.
  • Labels: Applied (e.g., 'migrated-from-bitbucket').
  • Milestones: Automatically created on GitHub and applied to issues.
  • State (open/closed): Set based on original state.
  • Original Timestamps: Mentioned in description.
  • Original Authors: Mentioned and @tagged in description for notifications.
  • Votes: Noted in description.
  • Kind and Priority: Noted in description.

What Is NOT Preserved

  • Original Author as Creator: API limitation - migration account is shown as creator.
  • Original Creation Date: API limitation - shows migration date.
  • Watchers: No equivalent field in GitHub.
  • Custom Fields: Bitbucket custom fields are not migrated.

Handling Non-Migratable Information

  • Deleted Users: Noted as "Unknown (deleted user)" in description and comments.
  • Unmapped Users: Mentioned as "Name (no GitHub account)" in description; not assigned.
  • Placeholders for Gaps: Issues deleted in Bitbucket are created as closed placeholder issues to maintain numbering.
  • Attachments and Images: See Attachment Migration and Image Migration.