问题域/PD-328

外部系统双向同步

External System Bidirectional Sync

与外部 issue tracker 的双向数据同步,包括冲突检测与解决策略

子问题

1.Pull-Detect-Resolve-Push 四阶段同步

2.字段映射与类型转换

3.冲突检测与解决策略

4.增量同步与全量同步

5.Hook 机制定制同步行为的粒度控制

6.工作流状态预缓存避免 N+1 API 调用

7.依赖关系的延迟创建(所有 issue 导入后再建立关联)

各项目的解法1 solutions

Signals

横向对比

维度Beads
同步模式Pull-Detect-Resolve-Push 四阶段批量同步,默认双向
冲突检测last_sync 时间戳基准 + 双端 UpdatedAt 比较
冲突解决三策略可选:timestamp(新者胜)/ local / external
适配器架构IssueTracker + FieldMapper 双接口 + init() 自注册 Registry
字段映射MappingConfig 可配置映射表,支持从存储层动态加载覆盖默认值
Hook 定制PullHooks(3 钩子)+ PushHooks(5 钩子)注入变化点
去重策略ContentEqual Hook 支持 content-hash 比较跳过无变化推送
可观测性OTel span 覆盖每个同步阶段,记录统计数据和错误

最佳实践

1.Plugin 接口 + Registry 工厂模式

2.Hook 机制定制同步行为

3.Content-hash 去重避免无效 API 调用

4.Pull 阶段冲突感知保护:跳过 last_sync 后本地修改的 issue,留给冲突检测处理

5.FormatDescription Hook 操作副本不修改本地数据,保证本地数据完整性

6.MappingConfig 从存储层动态加载覆盖默认映射,支持运行时自定义