Skip to content

Import from GitHub

The GitHub importer brings issues, labels, and comments from a GitHub repository into a SetGet project. This is a one-time migration tool -- for ongoing bidirectional sync, use the GitHub integration instead.

What gets imported

GitHub fieldSetGet fieldNotes
Issue titleWork item titleDirect mapping
Issue bodyWork item descriptionMarkdown preserved
Issue state (open/closed)Work item stateMapped via state table
LabelsLabelsCreated if they do not exist
AssigneesAssigneesMatched by email
CommentsCommentsImported with author attribution
MilestonesCycle (optional)Configurable during mapping

TIP

GitHub issues do not have a native priority field. After importing, use bulk edit to assign priorities in SetGet.

Prerequisites

  • A GitHub account with read access to the repository.
  • Admin or Owner role in your SetGet workspace.

Setup steps

Step 1 -- Connect to GitHub

  1. Go to Settings > Import.
  2. Select GitHub.
  3. Click Authorize with GitHub.
  4. Select the organization and repositories to grant access to.
  5. Click Authorize.

Step 2 -- Select the repository

  1. Choose the organization from the dropdown.
  2. Select the repository you want to import from.
  3. SetGet displays a summary: open issues, closed issues, label count.

Step 3 -- Choose the target project

  • Create new project -- a new project is created using the repository name.
  • Import into existing project -- select an existing project.

Step 4 -- Map issue states

GitHub stateDefault SetGet stateChangeable
openBacklogYes
closedDoneYes
closed as not plannedCancelledYes

Step 5 -- Configure options

OptionDescriptionDefault
Import commentsImport all issue commentsOn
Import milestones as cyclesMap milestones to cyclesOff
Import closed issuesInclude closed issues in the importOn
Filter by labelOnly import issues with specific labelsOff

Step 6 -- Start import

Click Start Import. The progress screen shows:

  • Total issues to import
  • Issues imported so far
  • Current item
  • Errors (if any)

Post-import validation

After the import completes, verify the data:

Check counts

MetricWhere to check
Total work itemsProject > All Work Items view
Open vs. closedCompare with GitHub's issue counts
LabelsProject > Settings > Labels
Milestones/CyclesProject > Cycles (if milestone import was enabled)

Spot-check items

  • Open 5-10 work items and verify title, description, and state.
  • Check that markdown formatting (code blocks, links, images) rendered correctly.
  • Confirm labels were created with the correct names.
  • Verify assignees mapped to the right workspace members.

Common formatting issues

GitHub elementExpected rendering
Markdown headingsSetGet headings
Code blocks (fenced)Code blocks with syntax highlighting
Task lists (- [ ])Checklists
@mentionsPlain text (GitHub usernames do not map to SetGet)
Issue references (#123)Plain text (cross-references are not linked)
Inline imagesEmbedded images (if publicly accessible)

Handling unmatched assignees

When a GitHub user's email does not match any SetGet member:

  1. The assignee field is left empty on the imported work item.
  2. A note is added to the activity log identifying the original GitHub assignee.
  3. After import, invite the missing members to SetGet and manually reassign.

Alternatively, invite all team members before running the import to maximize automatic matching.

Filtering issues before import

You can narrow the import scope:

FilterDescription
By labelOnly import issues with specific labels (e.g., "bug", "enhancement")
By stateImport only open issues, only closed issues, or both
By milestoneImport issues belonging to a specific milestone

Filtering is useful when you want to import a subset of a large repository or when different SetGet projects should receive different issue categories.

TIP

If your repository has thousands of issues, filter by label or milestone to import in manageable batches. This also lets you direct different categories to different SetGet projects.

Import vs. integration

FeatureImportIntegration
DirectionOne-time, GitHub to SetGetOngoing, bidirectional
New issues after setupNot syncedAutomatically synced
PR linkingNoYes
Comment syncImport onlyBidirectional
Use caseMigrationOngoing workflow

Choose import when you want to move off GitHub Issues entirely. Choose the integration when your team continues to use both GitHub Issues and SetGet.

Troubleshooting

ProblemCauseSolution
No repositories listedInsufficient OAuth scopeReconnect with broader access
Comments missingComment import disabledEnable the option and re-import
Assignees unmatchedEmail mismatchInvite members with matching emails
Markdown rendering issuesUnsupported GitHub-specific syntaxEdit descriptions manually after import

WARNING

Running the import twice for the same repository creates duplicate work items. Delete the first batch before re-importing.