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

Migration guide

Move from Azure DevOps to Pike

Connect Azure DevOps, map each project and area path to a Pike project, and run Import once when the last team moves. Budget five weeks from connection to cutover, then one month-end in Pike.

Available now

Pike reads Azure Boards through the Azure DevOps API. Work items, iterations and parent and child links import into the Pike projects you map them to.

  1. 1In Pike, go to Workspace settings → Integrations → Azure DevOps, click Add integration, sign in with Microsoft Entra ID and authorize Pike.
  2. 2Map each Azure DevOps project, and an optional area path, to one Pike project. Use area paths when one Azure DevOps project serves several clients.
  3. 3While teams move one at a time, click Import data. Changes in Azure DevOps reach Pike in real time through service hooks.
  4. 4When the last team moves, choose Import once. It copies the mapped projects, iterations as phases, work items as tasks with their parent and child links, tags as labels, and comments as text, then disconnects.

Pike does not write to Azure DevOps during the import. The one write Pike offers is Send completed work, off by default, which writes Pike hours to each work item’s Completed Work field.

Available now

Use CSV for Azure DevOps Server on your own hardware, or when nobody can authorize Pike through Microsoft Entra ID.

  1. 1Open or create a query that returns the work items you move, with every column you need, then select the actions icon and Export to CSV.
  2. 2Add Iteration Path, Area Path, Original Estimate and Completed Work as query columns first. Microsoft says to include every column you need in the query before you export.
  3. 3Map Title, Description, Assigned To, State and Iteration Path to the Tasks template. Azure DevOps writes identity fields as `Display Name <email>`, so check your Assigned To column and keep only the email for `assigneeEmail`.
  4. 4Upload projects, phases, members, then tasks under Workspace settings → Integrations → CSV, using the Pike template columns.

Exporting needs membership of Project Administrators or View project-level information set to Allow. Completed Work is one total per work item with no date, so it does not map to Pike time entries.

Entity map

What each Azure DevOps record becomes in Pike

Column one uses Azure Boards labels. Azure DevOps has no client, rate or invoice records, so your team sets billing in Pike. Pike matches **Assigned To** on the email of each Azure DevOps user.

Projects and area paths

Pike: Projects

Carries over: The work items in each mapped project or area path.

You set in Pike: Customer, project number, billing type, budget, hourly rate and team. Azure DevOps projects store none of these.

Template columns: projectNumber, title

Iterations (sprints)

Pike: Phases

Carries over: Iteration and the work items assigned to it, through Import once.

You set in Pike: Phase dates where the iteration has none set.

Template columns: projectNumber, phase, startDate, endDate

Work items

Pike: Tasks

Carries over: Title, description, assigned to, target date as due date, tags and work item type as labels, state through the status mapping, parent and child links.

You set in Pike: Billable status. Azure DevOps work items record none.

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

Original Estimate

Pike: Hours allocated

Carries over: The estimate on each task or bug, in the Agile and CMMI processes.

You set in Pike: Allocations on Scrum projects, which have Remaining Work and no Original Estimate.

Completed Work

Pike: Hours logged on the synced task

Carries over: Written from Pike to Azure DevOps with Send completed work on. Pike does not import it as time.

You set in Pike: Time entries, logged in Pike from the pilot week.

Comments

Pike: Task comments

Carries over: Comment text, through Import once.

You set in Pike: Nothing.

Azure DevOps entityPike entityWhat carries overWhat you set in PikeTemplate columns
Projects and area pathsProjectsThe work items in each mapped project or area path.Customer, project number, billing type, budget, hourly rate and team. Azure DevOps projects store none of these.projectNumber, title
Iterations (sprints)PhasesIteration and the work items assigned to it, through Import once.Phase dates where the iteration has none set.projectNumber, phase, startDate, endDate
Work itemsTasksTitle, description, assigned to, target date as due date, tags and work item type as labels, state through the status mapping, parent and child links.Billable status. Azure DevOps work items record none.title, projectNumber, description, status, assigneeEmail, dueDate, phase
Original EstimateHours allocatedThe estimate on each task or bug, in the Agile and CMMI processes.Allocations on Scrum projects, which have Remaining Work and no Original Estimate.
Completed WorkHours logged on the synced taskWritten from Pike to Azure DevOps with Send completed work on. Pike does not import it as time.Time entries, logged in Pike from the pilot week.
CommentsTask commentsComment text, through Import once.Nothing.

Azure DevOps stores no bill rates, cost rates or money budgets. Set billing type, budget and hourly rate on each Pike project, and a cost profile on each member, before the pilot team logs time.

Azure DevOps enforces no unit on Original Estimate, Remaining Work or Completed Work: teams enter hours or days. Pike reads Original Estimate as hours, so convert projects that estimate in days before you import.

The plan

Seven steps out of Azure DevOps

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 Azure Boards directly. The query export in week one is your archive copy.

    • Pick a cutover Friday and list the projects and area paths that move, with the client each one bills.
    • Build one query per project with Iteration Path, Area Path, Original Estimate and Completed Work as columns and run Export to CSV.
    • Note which projects use the Scrum process. They have no Original Estimate, so they import with no allocated hours.
    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 an Entra ID admin named to authorize Pike.

  2. Week 1 to 2

    Operations lead

    2

    2Week 1 to 2 · Operations lead

    Clean the data in Azure DevOps

    Pike imports what Azure Boards stores, so fix area paths and estimates in Azure DevOps before you connect.

    • Give each client its own area path where one Azure DevOps project serves several clients. Pike maps one project and area path to one Pike project.
    • List every State value in the projects that move. Each one maps to a Pike task status.
    • Check every Assigned To user signs in with the email they will use in Pike.
    customers.csvbefore / after
    • Acme
    • ACME Ltd
    • Acme retainer

    Acme

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

    Done when: One area path per client. Every state has a Pike status.

  3. Week 2

    Workspace admin

    3

    3Week 2 · Workspace admin

    Build the workspace shell

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

    • Connect your accounting system and run its Import data, so customers come from the ledger.
    • Create one Pike project per Azure DevOps project or area path, 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 mapped area path 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

    Connect and import

    Map projects and area paths, edit the status mapping, then import in dependency order.

    • Add the Azure DevOps integration and map every project and area path.
    • Click Import data and retry anything listed under Sync issues.
    • Compare work item counts and summed Original Estimate on three projects with the same query in Azure Boards.
    Import datain order
    • Customers48
    • Projects112
    • Members19
    • Tasks1,430
    • Time entries
    • Deals

    Done when: Work item counts on every mapped area path match Azure Boards.

  5. Week 3 to 4

    Delivery lead, finance

    5

    5Week 3 to 4 · Delivery lead, finance

    One team in Pike, the rest in Azure Boards

    Move one team with a live client project and an invoice due. Work items sync in real time while the others finish the sprint.

    • The pilot team logs time in Pike. Turn on Send completed work so each work item in Azure Boards shows the hours spent on it.
    • Finance approves the pilot team’s time in Time admin and sends one invoice from Pike.
    • Compare hours logged with Original Estimate on the pilot project. A wide gap on day-estimated work means a unit to convert.

    Old tool

    Rest of team

    logs as before

    keep syncing

    Pike

    Pilot team

    approved, invoiced

    Done when: One invoice sent from Pike. Completed Work in Azure Boards matches Pike hours on the pilot project.

  6. Week 4 to 5

    Migration owner

    6

    6Week 4 to 5 · Migration owner

    Cutover weekend

    Close Azure Boards on Friday evening with Import once, then hide Boards on the projects that moved.

    • Friday: run Import once so comments copy as text, and check last week’s work items in Pike.
    • A Project Administrator turns Boards off under Project settings → Overview. Turning a service off hides it from all project members, and the work item data remains intact if Boards is turned back on.
    • Monday: everyone plans and logs time in Pike. Pin one message with links to log time, find tasks and ask for help.

    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. Boards hidden on every moved project.

  7. Week 5 to 8

    Finance

    7

    7Week 5 to 8 · Finance

    First month-end in Pike

    Done when finance closes a month without opening Azure Boards.

    • Approve all time, invoice every billable project from Pike and send the invoices to accounting.
    • Move people who only planned work in Boards to the free Stakeholder access level. Billing stops for users on Stakeholder or removed from the organization.
    • Keep Basic access for developers who still use Repos or Pipelines.
    Baselinebefore / Pike
    Days to invoice
    Unbilled hours at close
    Margin by project

    Done when: Month closed in Pike. Azure DevOps exports saved with two owners. Basic seats reviewed.

Rebuild

Set these up in Pike by hand

  • Clients and billingSet customer, billing type, budget and rate on each project.Pike docs
  • Sprint capacityPlan each person’s hours per project as allocations.Pike docs
  • Cost ratesSet a cost profile for every member who logs time.Pike docs
  • Timesheet approversChoose who approves time for each team in Time admin.Pike docs

Questions

Moving from Azure DevOps: common questions

Can developers keep using Azure Boards?

Yes. Leave the integration connected and work items sync into Pike tasks in real time. With Send completed work on, hours logged in Pike update Completed Work on each work item, so developers see time spent in Azure Boards.

Does Pike import Completed Work as time entries?

No. Completed Work is one number per work item with no date or person, and Pike time entries need both. Pike writes to that field when Send completed work is on, and never reads it as time.

Our projects use the Scrum process. What happens to estimates?

Scrum tasks have Remaining Work and no Original Estimate, so they import with no allocated hours. Plan those hours as allocations in Pike after the import.

One Azure DevOps project serves three clients. How do we map it?

Map each area path to its own Pike project, one per client. Pike maps one project, or one project and area path, to one Pike project.

Does turning off Boards delete our work items?

No. Microsoft states that data for a disabled service remains intact and accessible if you turn the service back on. Turning it off hides Boards from every project member.

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
  • Azure DevOps integration
  • Migration guide for every tool

Azure DevOps documentation used for this guide

  • Azure DevOps: Export, update, and import bulk work items with CSV files
  • Azure DevOps: Query by numeric fields
  • Azure DevOps: Manage sprint timelines
  • Azure DevOps: Turn a service on or off
  • Azure DevOps: Change access levels
  • Azure DevOps REST API

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.