Pike
  • Pricing
  • Contact us
Log in
  1. Home/
  2. Migration guide/
  3. GitHub
GitHub logoPike logo

Migration guide

Move from GitHub to Pike

Install the Pike GitHub App, run Import once on the repositories you pick, and keep pull request linking on. Budget five weeks from connection to cutover, then one month-end in Pike.

Available now

Pike reads GitHub through the Pike GitHub App. Pike imports issues once as tasks, and links pull requests and commits to Pike tasks from then on.

  1. 1In Pike, go to Workspace settings → Integrations → GitHub, click Add integration, install the Pike GitHub App on your organization and choose the repositories Pike can see.
  2. 2Choose Import once and pick the repositories whose issues move. It copies issues as tasks with title, body, assignee matched by email, labels, milestone as phase, and open or closed state, then stops.
  3. 3Pull request and commit linking continues. A pull request or commit links to a Pike task when its title, branch name or description contains the task’s Pike URL or ID.
  4. 4Optionally turn on, per repository, Move task to In Review when a linked pull request opens and Move task to Done when a linked pull request merges.

Pike does not write to GitHub during the import and does not post to GitHub afterwards. Pike does not sync issues after Import once.

Available now

Use CSV when nobody can install the Pike GitHub App on your organization, or when your team plans in a GitHub project view with its own fields.

  1. 1Open the repository’s Projects tab, click View next to the search bar of the view you move, then click Export view data.
  2. 2GitHub exports the view as a tab-separated (.tsv) file. Save it as CSV UTF-8 before you map columns.
  3. 3Map the issue title, assignees, labels, milestone and status to the Tasks template. Check whether your view includes the milestone column before you export.
  4. 4Upload projects, phases, members, then tasks under Workspace settings → Integrations → CSV, using the Pike template columns.

Pull request and commit linking works the same on the CSV route once the GitHub App is installed. Only the issue import differs.

Entity map

What each GitHub record becomes in Pike

Column one uses GitHub’s own labels. GitHub has no client, time, rate or invoice records, so your team sets billing and logs time in Pike. Pike matches assignees by email.

Repositories

Pike: Projects

Carries over: The issues in each repository you pick for Import once.

You set in Pike: Customer, project number, billing type, budget, hourly rate and team. A repository stores none of these.

Template columns: projectNumber, title

Milestones

Pike: Phases

Carries over: Milestone and the issues in it.

You set in Pike: Phase start date. Copy the milestone due date to the phase end date where you plan by date.

Template columns: projectNumber, phase, endDate

Issues

Pike: Tasks

Carries over: Title, body as description, assignee, labels, open or closed state.

You set in Pike: Due date, billable status and any status between open and closed.

Template columns: title, projectNumber, description, status, assigneeEmail, phase

Pull requests and commits

Pike: Linked pull requests and commits on the task

Carries over: Pull request status (open, merged, closed) and checks, when the title, branch name or description contains the Pike task URL or ID.

You set in Pike: The branch naming rule your developers follow.

Organization members

Pike: Members

Carries over: Assignees on imported issues, matched by email.

You set in Pike: Workspace role, team, position and cost profile.

Template columns: email, displayName

GitHub entityPike entityWhat carries overWhat you set in PikeTemplate columns
RepositoriesProjectsThe issues in each repository you pick for Import once.Customer, project number, billing type, budget, hourly rate and team. A repository stores none of these.projectNumber, title
MilestonesPhasesMilestone and the issues in it.Phase start date. Copy the milestone due date to the phase end date where you plan by date.projectNumber, phase, endDate
IssuesTasksTitle, body as description, assignee, labels, open or closed state.Due date, billable status and any status between open and closed.title, projectNumber, description, status, assigneeEmail, phase
Pull requests and commitsLinked pull requests and commits on the taskPull request status (open, merged, closed) and checks, when the title, branch name or description contains the Pike task URL or ID.The branch naming rule your developers follow.
Organization membersMembersAssignees on imported issues, matched by email.Workspace role, team, position and cost profile.email, displayName

GitHub stores no rates, budgets or time. Set billing type, budget and hourly rate on each Pike project, and a cost profile on each member, before your team logs its first hour in Pike.

Issues carry no estimate, so imported tasks have no allocated hours. Plan hours per person and project as allocations after the import.

The plan

Seven steps out of GitHub

The same steps as the main migration guide, with this tool's screens and settings.

  1. Week 1

    Migration owner, finance

    1

    1Week 1 · Migration owner, finance

    Freeze scope and export

    Pike reads GitHub directly. The view export in week one is your archive copy of how the team planned.

    • Pick a cutover Friday and list the repositories whose issues move, with the client each one bills.
    • Export each project view you plan in with Export view data and save the .tsv files.
    • List the repositories with more than one client. Pike imports every issue in a picked repository into one project.
    exports / rawdo not edit
    • customers.csvraw
    • projects.csvraw
    • tasks.csvraw
    • time-entries.csvraw
    • invoices.csvraw
    Cutover: Friday, week 5

    Done when: Archive exports in one folder, a cutover Friday on the calendar, and a GitHub organization owner named to install the app.

  2. Week 1 to 2

    Operations lead

    2

    2Week 1 to 2 · Operations lead

    Clean the data in GitHub

    Pike imports what GitHub Issues records, so close stale issues and set milestones in GitHub before you connect.

    • Close issues nobody will work on. Pike imports open and closed state as it finds it.
    • Group open client work under milestones. Each milestone becomes a Pike phase.
    • Check every assignee has the email they will sign in to Pike with on their GitHub account.
    customers.csvbefore / after
    • Acme
    • ACME Ltd
    • Acme retainer

    Acme

    C-104 · T&M · 1,250/h

    Done when: No stale open issues. Every open client issue has a milestone.

  3. Week 2

    Workspace admin

    3

    3Week 2 · Workspace admin

    Build the workspace shell

    GitHub has no clients or rates, so admins set up every commercial detail in Pike before the import.

    • Connect your accounting system and run its Import data, so customers come from the ledger.
    • Create one Pike project per repository, with customer, billing type, budget and hourly rate.
    • Set a cost profile for everyone who will log billable time.
    Workspace setup
    • Teams and roles
    • Templates and labels
    • Cost profiles12 of 12
    • Accounting connected
    • Invite everyoneweek 4

    Done when: Every picked repository has a Pike project with a customer, billing type and budget.

  4. Week 2 to 3

    Workspace admin

    4

    4Week 2 to 3 · Workspace admin

    Install the app and import

    Install the GitHub App, pick repositories, then run Import once. There is no ongoing issue sync, so run it once the issue list is final.

    • Add the GitHub integration and install the Pike GitHub App on the repositories that move.
    • Choose Import once, pick the repositories, and check issue counts per repository in Pike.
    • Open three tasks with linked pull requests and check status and checks show on each.
    Import datain order
    • Customers48
    • Projects112
    • Members19
    • Tasks1,430
    • Time entries
    • Deals

    Done when: Open and closed issue counts on every picked repository match GitHub.

  5. Week 3 to 4

    Delivery lead, finance

    5

    5Week 3 to 4 · Delivery lead, finance

    One team plans in Pike

    Move one team with a live client project and an invoice due. Developers keep working in GitHub, and pull requests link to Pike tasks.

    • The pilot team creates new tasks in Pike only and puts the Pike task ID in branch names.
    • Finance approves the pilot team’s time in Time admin and sends one invoice from Pike.
    • Turn on Move task to Done when a linked pull request merges for the pilot repository and check task status matches merged work.

    Old tool

    Rest of team

    logs as before

    keep syncing

    Pike

    Pilot team

    approved, invoiced

    Done when: One invoice sent from Pike. Every pilot pull request links to a Pike task.

  6. Week 4 to 5

    Migration owner

    6

    6Week 4 to 5 · Migration owner

    Cutover weekend

    Close GitHub Issues on Friday evening on the repositories that moved. Pull request and commit linking continues.

    • Friday: create any issue opened since the import as a Pike task, because Import once does not pick up later issues.
    • A repository admin opens Settings, and under Features deselects Issues. GitHub makes earlier issues available again if Issues is turned back on.
    • Monday: everyone plans and logs time in Pike. Pin one message with links to log time, find tasks and name branches.

    Fri

    Approve. Sync. Read-only.

    Sat, Sun

    Rest.

    Mon

    All in Pike. Demo at 10:00.

    Done when: Time admin shows every active member by Monday afternoon. Issues turned off on every moved repository.

  7. Week 5 to 8

    Finance

    7

    7Week 5 to 8 · Finance

    First month-end in Pike

    Done when finance closes a month without asking developers for hours.

    • Approve all time, invoice every billable project from Pike and send the invoices to accounting.
    • Compare hours per project with merged pull requests for the month. A project with merges and no hours means time nobody logged.
    • Turn on Move task to In Review when a linked pull request opens on the remaining repositories if the pilot team found it useful.
    Baselinebefore / Pike
    Days to invoice
    Unbilled hours at close
    Margin by project

    Done when: Month closed in Pike. GitHub view exports saved with two owners.

Rebuild

Set these up in Pike by hand

  • Clients and billingSet customer, billing type, budget and rate on each project.Pike docs
  • Statuses between open and closedSet the task statuses your board uses.Pike docs
  • CapacityPlan each person’s hours per project as allocations.Pike docs
  • Cost ratesSet a cost profile for every member who logs time.Pike docs

Questions

Moving from GitHub: common questions

Does Pike keep GitHub issues in sync?

No. Pike imports issues once and stops. Pull request and commit linking continues, so create new work as Pike tasks and reference the task in branch names.

How does a pull request link to a Pike task?

The pull request title, branch name or description contains the Pike task URL or ID. The task then shows the pull request with its status (open, merged, closed) and checks.

Does turning off Issues delete them?

No. GitHub states that issues added before you turned the feature off are available again if you turn Issues back on.

Can we import a GitHub project board?

Import once reads issues from repositories. For a project view with its own fields, export it with Export view data, save the .tsv as CSV and upload it to the Pike Tasks template.

Support through the move and after it

Migration support comes with every plan: we map your exports, run the imports with you and check the counts before cutover. After go-live, hypercare until the first month-end closes in Pike. Then we hand over to your admins and stay close for as long as you use Pike. Email hello@usepike.com with your source tool and we will say which route fits.

  • Switch playbook
  • GitHub integration
  • Migration guide for every tool

GitHub documentation used for this guide

  • GitHub: Exporting your project’s data
  • GitHub: About milestones
  • GitHub: Disabling issues
  • GitHub Issues documentation
  • GitHub REST API: Issues

Your business runs better on Pike.

Contact sales
  • ISO 27001 CertifiedISO 27001
  • GDPR CompliantGDPR
  • AICPA SOC 2 Type IISOC 2 Type II

Built to keep sensitive client data secure and private.

Pike box logoPike
Features
ProjectsResourcing & capacityFinance & invoicingDashboardsCustomers & salesTime & absencePike MCPIntegrations
Company
BlogOur storySwitch playbookMigration guideGet in touch
Industries
Creative agenciesMarketing agenciesDigital agenciesConsulting firmsIT consultanciesArchitecture firms
Resources
DocsChangelogPrivacy policyTerms and conditionsGlossaryFree toolsFAQ
All systems operational

Engineered around the 🌎

© 2026 Pike. All rights reserved.