logo
0
0
Login
Forkfromboobohuang/migrate-collaboration, ahead:main1 commits

项目协同迁移工具

badge badge badge

这是一个用于迁移CODING项目协同数据的工具,有任何问题欢迎提交Issue讨论

一、迁移教程

1. 一键迁移姿势(使用云原生开发,不需要环境,不需要Docker知识)🔥🔥🔥🔥

  • fork本仓库到你任意组织下
  • 点击一键部署迁移按钮,等待加载出项目协同迁移界面
  • 在弹窗中填写token等信息(参考-六、文档相关)
  • 开始迁移
  • 迁移日志可以在迁移完毕之后页面的下载日志按钮点击下载
  • 迁移日志也可以在云原生构建名称是云原生开发的构建记录登录调试按钮,docker logs -f migrate-collaboration-web

2. 传统迁移姿势,使用Docker手动部署

docker命令

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分为发布计划和发布版本,需要选择映射)
  • ✅ 图片、附件(图片上限5MB,附件上限250MB)
  • ✅ 迭代(自动同步)
  • ✅ 需求描述(自动同步)
  • ✅ 用户(自动同步,使用了用户的相关属性也会自动同步,包含系统属性和自定义用户属性)
  • ✅ 文档管理-wiki
  • ✅ 需求评论(包含图片和附件)
  • ✅ 迁移日志实时展示
  • ✅ 迁移详细日志文件提供下载
  • ❌ 批量迁移(按照配置方案关联的项目,开发中)
  • ❌ 测试管理(排期中)
  • ❌ 测试协同(不支持)
  • ❌ 项目集
  • ❌ 甘特图
  • ❌ 工时记录
  • ❌ 配置方案
  • ❌ 文件网盘(不支持)

2. CODING -> CNB(需要手动创建组织,程序会自动创建仓库,比如:xxx-issue)

  • ✅ Issue
  • ✅ 系统字段(优先级、起止时间,事项类型映射在标签)
  • ✅ 迁移详细日志文件提供下载
  • ✅ 事项评论(包含图片和附件)
  • ❌ 批量迁移(开发中)

三、环境变量说明

环境变量说明是否必填
CODING_TOKENCODING平台的访问令牌是(如需迁移CODING数据)
TAPD_TOKENTAPD平台的访问令牌是(如需迁移到TAPD)
TAPD_USERTAPD平台的用户名是(如需迁移到TAPD)
TAPD_COMPANY_IDTAPD平台的公司ID是(如需迁移到TAPD)
CNB_TOKENCNB平台的访问令牌是(如需迁移到CNB)
CNB_ROOT_ORGANIZATIONCNB平台的根组织是(如需迁移到CNB)
PORTWeb应用的监听端口否(默认为8088)

四、访问Web应用

构建并运行容器后,可以通过浏览器访问:

http://localhost:8088

五、注意事项

如果事项较多时,迁移会比较慢,因为openapi有限频机制,需要耐心等待

  1. 目标平台为TAPD时,请确定目标项目内至少有一个需求类型
  2. 目标平台为TAPD时,需求类型需要手动映射(A需求类型 -> B需求类型)
  3. 目标平台为TAPD时,需求属性、状态会自动同名迁移
  4. 目标平台为TAPD时,推荐创建模板为大型团队敏捷研发且创建时在更多配置里面取消勾选默认加载示例数据
  5. 目标平台为TAPD时,自动导入的用户可使用邮箱登录,点击忘记密码,重新设置即可登录

六、文档配置

1. 文档地址

2. 配置获取

  • CODING:
    • token:登录coding.net -> 左下角用户头像 -> 个人账户设置 -> 访问令牌(项目读权限 + 项目协同读写权限 + 团队成员读权限 + 文档读权限)
    • coding账号需要设置团队管理员(这里与上面的token是两个不同的设置,设置路径在:团队设置中心 / 全局设置 / 成员管理) coding

  • TAPD:(需要将当前团队 升级为付费版本(推荐试用企业版)才可以在左下角“公司管理”->“开放集成”->“API账号管理”中获取所需TAPD平台的用户名及访问令牌)
    • companyId: 登录tapd.cn -> 左下角公司管理 -> API账号管理 -> 左上角头像下面的ID
    • user: 登录tapd.cn -> 左下角公司管理 -> API账号管理 -> API帐号
    • token: 登录tapd.cn -> 左下角公司管理 -> API账号管理 -> API秘钥(勾选项目协作所有读写权限) coding

  • CNB:
    • token: 登录cnb.cool,右上角头像 -> 个人设置 -> 添加访问令牌(使用范围选全部仓库/制品,常见场景选择迁移工具凭据)
    • cnb

About

Coding项目协同数据迁移工具

Language
Go88.8%
Assembly8.2%
Markdown1.5%
HTML0.4%
Others1.1%