
这是一个用于迁移CODING项目协同数据的工具,支持在不同平台之间迁移项目、事项、属性等信息。
1. 一键迁移姿势(使用云原生开发,不需要环境,不需要Docker知识)🔥🔥🔥🔥
- fork本仓库到你任意组织下
- 点击
一键部署迁移按钮,等待加载出项目协同迁移界面
- 在弹窗中填写token等信息(参考-六、文档相关)
- 开始迁移
- 迁移日志可以在
云原生构建名称是云原生开发的构建记录登录调试按钮,docker logs -f migrate-collaboration-web
2. 传统迁移姿势,使用Docker在Linux部署(arm架构和windows系统的镜像正在开发中)
docker run -d -p 8088:8088 \
-e CODING_TOKEN="xx" \
-e TAPD_TOKEN="xx" \
-e TAPD_USER="xx" \
-e TAPD_COMPANY_ID="xx" \
-e CNB_TOKEN="xx" \
-e CNB_ROOT_ORGANIZATION="xx" \
--name migrate-collaboration-web \
docker.cnb.cool/coding/tool/migrate-collaboration/web:latest
1. CODING -> TAPD(需要手动创建TAPD工作空间)
- ✅ Issue,需要手动映射(包含用户故事、需求、自定义需求、缺陷、任务、自定义任务、史诗、子工作项)
- ✅ Issue父子关系、Issue和缺陷的关联关系
- ✅ 系统字段、自定义字段(自动同步)
- ✅ 需求状态(包含自定义状态,但不包含工作流里面的流程和事件,注意:TAPD内任务不支持自定义工作流,可以用自定义需求代替)
- ✅ 版本(TAPD分为发布计划和发布版本,需要手动映射)
- ✅ 图片、附件(需提issue,附上TAPD的api user申请权限,附件上限250MB)
- ✅ 迭代(自动同步)
- ✅ 需求描述(自动同步)
- ✅ 用户(自动同步,使用了用户的相关属性也会自动同步,包含系统属性和自定义用户属性)
- ✅ wiki
- ❌ 需求评论(排期中,预计7.20上线)
- ❌ 配置方案
- ❌ 项目集
- ❌ 甘特图
- ❌ 测试用例
- ❌ 工时记录
- ❌ 文档管理
- ❌ 文件网盘
2. CODING -> CNB(需要手动创建组织,程序会自动创建同名仓库)
| 环境变量 | 说明 | 是否必填 |
|---|
| CODING_TOKEN | CODING平台的访问令牌 | 是(如需迁移CODING数据) |
| TAPD_TOKEN | TAPD平台的访问令牌 | 是(如需迁移到TAPD) |
| TAPD_USER | TAPD平台的用户名 | 是(如需迁移到TAPD) |
| TAPD_COMPANY_ID | TAPD平台的公司ID | 是(如需迁移到TAPD) |
| CNB_TOKEN | CNB平台的访问令牌 | 是(如需迁移到CNB) |
| CNB_ROOT_ORGANIZATION | CNB平台的根组织 | 是(如需迁移到CNB) |
| PORT | Web应用的监听端口 | 否(默认为8088) |
构建并运行容器后,可以通过浏览器访问:
http://localhost:8088
- 目标平台为TAPD时,请确定目标项目内至少有一个需求类型
- 目标平台为TAPD时,需求类型需要手动映射(A需求类型 -> B需求类型)
- 目标平台为TAPD时,需求属性、状态会自动同名迁移
- 目标平台为TAPD时,默认没有上传附件的权限,需要联系TAPD开通(也可直接在仓库内提交Issue,附上tapd的user即可)
- CODING:
- token:登录coding.net -> 左下角用户头像 -> 个人账户设置 -> 访问令牌(项目读权限 + 项目协同读写权限 + 团队成员读权限 + 文档读权限)
- TAPD:(需要将当前团队 升级为付费版本(推荐试用企业版)才可以在左下角“公司管理”->“开放集成”->“API账号管理”中获取所需TAPD平台的用户名及访问令牌)
- companyId: 登录tapd.cn -> 左下角公司管理 -> API账号管理 -> 右上角头像下面的ID
- user: 登录tapd.cn -> 左下角公司管理 -> API账号管理 -> API帐号
- token: 登录tapd.cn -> 左下角公司管理 -> API账号管理 -> API秘钥(勾选项目协作所有读写权限)
- CNB:
- token: 登录cnb.cool,右上角头像 -> 个人设置 -> 添加访问令牌(使用范围选全部仓库/制品,仓库权限 + 组织权限 )