I’ve resolved this exact scenario multiple times. Here’s the complete solution addressing all three critical areas:
Field Mapping Rules Configuration:
Rally’s EnvironmentConfig treats Priority as a workspace-scoped enumerated field, which means each environment can have different allowed values and different internal IDs for those values. Even if your DEV and PROD environments both have a “High” priority option, they’re stored with different internal identifiers.
To fix this, navigate to Setup → Integrations → Environment Sync → Field Mappings and create explicit mappings:
DEV Priority "Critical" → PROD Priority "Critical"
DEV Priority "High" → PROD Priority "High"
DEV Priority "Medium" → PROD Priority "Medium"
DEV Priority "Low" → PROD Priority "Low"
The mapping must be one-to-one and exhaustive - if any source value lacks a target mapping, that field will be skipped during sync. This is why you’re seeing “Sync Status: Skipped” in your logs.
Bidirectional Sync Considerations:
With bidirectional sync enabled, you also need reverse mappings (PROD → DEV) or you’ll encounter sync conflicts. If a defect is updated in PROD and synced back to DEV, Rally needs to know how to translate the PROD priority value back to DEV’s value set.
The bidirectional mapping prevents sync loops where the same defect bounces between environments with changing priorities. Configure conflict resolution rules to specify which environment wins when both sides are modified simultaneously - typically you want PROD to take precedence.
Bulk Update Approach for Existing Defects:
Your existing defects with mismatched priorities won’t automatically re-sync after adding the field mappings. You need to trigger a bulk update to force re-synchronization.
Use the Rally WSAPI to identify affected defects:
GET /defect?query=(Environment=DEV)AND(Priority!=null)
&fetch=Priority,Environment,LastSyncDate
Then trigger a bulk field update (even if you’re setting Priority to the same value) to force the sync engine to re-evaluate the field mappings:
POST /defect/bulk
{
"defects": [affected_defect_refs],
"updates": { "Priority": current_priority_value }
}
This triggers the sync workflow without actually changing data, but causes Rally to apply the new field mapping rules to existing records.
Additional Troubleshooting:
If priorities still don’t sync after configuring mappings, check these common issues:
- Workspace permissions: The sync service account must have write access to the Priority field in all target environments
- Field-level security: Some organizations lock Priority field updates to specific user roles - verify the sync account has appropriate role permissions
- Workflow validation rules: As mentioned by others, check for workflow rules that might be overriding synced values
- Sync schedule: Environment sync runs on a schedule (default 15 minutes) - you can manually trigger a sync from Setup → Environment Sync → Run Now
After implementing proper field mappings and running the bulk update, your defect priorities should sync correctly across all environments. We saw 100% sync success rate within one hour of applying this solution, and our triage delays disappeared immediately as the PROD backlog finally reflected accurate priorities.