Project Management migration
Field-level mapping, validation, and rollback between WP Project Manager and Jira. We move data and schema; workflows are rebuilt natively in Jira.
WP Project Manager
Source
Jira
Destination
Compatibility
9 of 10
objects map 1:1 between WP Project Manager and Jira.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from WP Project Manager to Jira is a platform-level migration that requires reading from WordPress custom database tables rather than an API, provisioning Jira users and projects before data lands, and accepting that plugin-level configurations such as Kanban board layouts, recurring task rules, and invoice records have no direct migration path. WP Project Manager stores all data in WordPress tables (wp_cpm_projects, wp_cpm_messages, wp_cpm_task_relations, wp_cpm_task_comments) with no public REST API, so we run read-only SQL queries against a staging copy of the database and reconstruct the object graph before loading into Jira. We preserve assignee identity by resolving WordPress user IDs to Jira accounts via email match, and we transfer file attachments separately via SFTP alongside the database export. Workflows, automations, Kanban board column state, and invoice records do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Jira.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a WP Project Manager object lands in Jira, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
WP Project Manager
Project
Jira
Project
1:1WP Project Manager projects (wp_cpm_projects) map directly to Jira Software projects. We extract project title, description, created date, status, and user role assignments (project_member table with role per user). In Jira, we provision the project with the matching project key, project lead (resolved from WordPress user to Jira user), and default project type (team-managed or company-managed). Visibility settings in WP PM (private vs public) translate to Jira project access levels configured per project.
WP Project Manager
Task
Jira
Issue
1:1WP PM tasks are type=task records in wp_cpm_messages with a project_id foreign key. We map task title, description, due date, priority (numeric to Jira PriorityId), status, and assignee (WordPress user ID resolved to Jira account). The original WP PM task ID is preserved in a custom field cpm_task_id__c for audit traceability. Task creation timestamps migrate as Jira Issue Created date.
WP Project Manager
Subtask
Jira
Sub-task
1:1Subtasks in WP PM are stored in wp_cpm_task_relations with a parent task_id reference. We reconstruct the subtask hierarchy by preserving parent-child links and landing them as Jira sub-task Issue types under their parent Issue. Subtask title, status, assignee, and due date map identically to the parent task mapping. Jira sub-tasks inherit the parent's project and Issue type context automatically.
WP Project Manager
Milestone
Jira
Version + Label
1:1WP PM milestones are type=milestone records in wp_cpm_messages. We map milestone title, due date, and linked task_ids. Milestones land in Jira as Versions (Releases) with the milestone due date as the Release target date. The associated task list is preserved as a Jira filter shared with the project team. A custom label milestone_name is added to each linked issue for quick filtering across milestones.
WP Project Manager
Comment
Jira
Comment
1:1Comments are stored in wp_cpm_task_comments linked to task_id. We preserve comment body (rich text), author WordPress user ID (resolved to Jira account), timestamp, and attachment file path references. Comments land as Jira Issue Comments with the Jira account displayed as comment author. Threaded comment replies in WP PM map to Jira comment hierarchy where the Jira version supports it.
WP Project Manager
File Attachment
Jira
Attachment
1:1Attachments are stored as WordPress post attachments linked to tasks or comments via post_parent. Files live in wp-content/uploads. We map file paths and re-attach them to the corresponding Jira issues via the Jira REST API multipart upload endpoint. If file path references contain absolute URLs with the source WordPress domain, we strip and normalize them during transfer. This requires a parallel SFTP file sync step alongside the database export.
WP Project Manager
Custom Field
Jira
Custom Field
lossyCustom Fields in WP PM are stored as PHP-serialized arrays in wp_postmeta with no stable field schema across projects. We deserialize the data per project, infer field types (text, number, date, select, multi-select), and create equivalent Jira system-level custom fields with contexts scoped to the relevant projects and issue types. We preserve the original field names as custom field descriptions for the customer's admin to verify mapping after migration. Any deserialization parse failures are flagged and reported in the migration summary.
WP Project Manager
User / Assignee
Jira
User
1:1Assignees, commenters, and project administrators in WP PM are stored as WordPress user IDs referencing wp_users. We export wp_users as a separate step, resolve each by email address against the destination Jira instance, and hold unmapped users in a reconciliation queue for the customer's admin to provision before record import resumes. Original WP user ID is preserved in a custom field wp_user_id__c on the Jira User record for audit.
WP Project Manager
Time Tracking Entry
Jira
Worklog
1:1Time tracking entries (premium module) are stored in a WP PM sub-table with user_id, task_id, start timestamp, end timestamp, duration in seconds, and notes. We extract these records and land them as Jira Issue Worklog entries with the original start time as worklog startedAt and duration as timeSpentSeconds. Billable rate configuration from WP PM's Invoice module does not migrate.
WP Project Manager
Gantt Dependency
Jira
Issue Link
1:1Gantt task dependencies in WP PM are stored in wp_cpm_task_relations with a relation_type field indicating dependency direction. We extract dependency links and reconstruct them in Jira as Issue Links with link types blocks, is blocked by, or relates to depending on the WP PM relation_type. The destination Jira project must have the relevant issue link types enabled in project settings.
| WP Project Manager | Jira | Compatibility | |
|---|---|---|---|
| Project | Project1:1 | Fully supported | |
| Task | Issue1:1 | Fully supported | |
| Subtask | Sub-task1:1 | Fully supported | |
| Milestone | Version + Label1:1 | Fully supported | |
| Comment | Comment1:1 | Fully supported | |
| File Attachment | Attachment1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| User / Assignee | User1:1 | Fully supported | |
| Time Tracking Entry | Worklog1:1 | Fully supported | |
| Gantt Dependency | Issue Link1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
WP Project Manager gotchas
No public API forces database-level migration
WordPress user table is the identity layer
Serialized PHP data in custom fields and settings
Attachment files are not embedded in the database
Invoice and Stripe data lacks clean export path
Jira gotchas
Unsupported workflow validators silently skipped during migration
Custom fields converted to flat text labels when migrating to non-Jira platforms
Historical status-change timestamps lost when exporting without a Marketplace plugin
Attachment import failures from oversized files and JQL reference corruption
Points-based API rate limits enforced on Jira Cloud apps from March 2026
Pair-specific challenges
Migration approach
Discovery and database inventory
We audit the source WordPress site to identify the WP PM plugin version, enabled premium modules (Time Tracker, Invoice, Custom Fields, Recurring Tasks), and estimated record counts per table (wp_cpm_projects, wp_cpm_messages, wp_cpm_task_relations, wp_cpm_task_comments). The customer provides read-only database credentials or a phpMyAdmin export. We run a staging database query to count distinct users in wp_users, distinct projects, task totals, attachment references, and custom field record counts. The discovery output is a written migration scope with object-level row counts and a Jira edition recommendation (Free, Standard, or Premium) based on the required feature set.
Jira project schema setup
We provision Jira projects with the correct project type (team-managed or company-managed), project key, and default issue type scheme before any data import. We create all required Jira system-level custom fields with appropriate contexts scoped per project and issue type, matching the deserialized WP PM custom field names. We enable the relevant issue link types (blocks, is blocked by, relates to) for the dependency migration. Jira project schema is validated in a staging environment before production deployment.
WordPress user reconciliation
We extract the full wp_users table and match each WordPress user to a Jira account by email address. Any WordPress user without a matching Jira account is added to a reconciliation queue. The customer's Jira admin provisions missing Jira accounts (active or inactive based on whether the original WP user is still active) before record import begins. Migration cannot proceed past the user step because assignee references on issues, comments, and worklogs require valid Jira user accounts.
File attachment inventory and SFTP sync preparation
We inventory all attachment file paths from wp_cpm_task_comments and wp_postmeta, identify the total file count and cumulative size, and prepare the SFTP sync runbook. Files are transferred from the WordPress hosting environment to a temporary host and re-attached to Jira issues via the REST API after issues are created. We strip absolute URLs with the source domain from file path references during normalization.
Production migration in dependency order
We run production migration in record-dependency order: Jira project provisioning and schema configuration (validated), WordPress user accounts (manually provisioned and reconciled), Projects (from wp_cpm_projects), Milestones (as Jira Versions with labels), Tasks (from wp_cpm_messages type=task, with subtask hierarchy reconstructed from wp_cpm_task_relations), Comments (with author resolved to Jira account), Time Tracking entries (as Jira worklogs), Custom Fields (deserialized and loaded into pre-created Jira fields), and File attachments (via SFTP sync and REST API re-attachment). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation rebuild handoff
We freeze WP PM writes during cutover, run a final delta migration of any records created or modified during the migration window, then hand off Jira as the system of record. We deliver a written Kanban board rebuild guide, a recurring task configuration document, and an automation rebuild inventory for the customer's Jira admin to recreate in Jira Automation or Jira Flow. We do not rebuild WP PM automations as Jira Automation inside the migration scope; that work is a separate engagement. We support a one-week post-cutover window for reconciliation issues raised by the project team.
Platform deep dives
WP Project Manager
Source
Strengths
Weaknesses
Jira
Destination
Strengths
Weaknesses
Complexity grading
Standard Project Management migration. 3 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across WP Project Manager and Jira.
Object compatibility
3 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
WP Project Manager: No vendor-imposed rate limit; effective ceiling is set by the host's WordPress configuration (PHP execution time, server resources)..
Data volume sensitivity
WP Project Manager doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during WP Project Manager to Jira migration scoping. Not seeing yours? Book a call.
Walk through your WP Project Manager to Jira migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave WP Project Manager
Other ways to arrive at Jira
Same-Project Management migrations
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.