前言:
        介于tapd跨项目统计的困难,开发了基于tapd API的数据同步的工具TapdCollect,可以将数据采集到本地数据库,再进行分析统计,采用.net Core进行开发,可以跨平台部署定时任务进行定时采集,支持项目、需求、缺陷、用例、测试计划、变更历史等数据的采集,能够选择是否保存历史记录,失败时自动重试等附属功能。

最后更新时间:2019年2月27日
更新内容:
1、新增模块数据的采集
2、新增花费数据的采集
3、新增迭代数据的采集
4、新增评论数据的采集


下载地址:

源码地址:


功能介绍

01、 输入 [ 01 ] , 开始 [ 同步项目 ]
同步项目列表,对应数据库表名:tapd_project

02、 输入 [ 02 ] , 开始 [ 同步工作流状态中英文名对应关系 ]
同步工作流状态中英文名对应关系,对应数据库表名:tapd_statusmap

03、 输入 [ 03 ] , 开始 [ 同步自定义字段配置 ]
同步自定义字段配置,对应数据库表名:tapd_custom_fields_settings

04、 输入 [ 04 ] , 开始 [ 同步需求分类 ]
同步需求分类,对应数据库表名:tapd_story_categories

05、 输入 [ 05 ] , 开始 [ 同步测试用例分类 ]
同步测试用例分类,对应数据库表名:tapd_tcase_categories

06、 输入 [ 06 ] , 开始 [ 同步需求 ]
同步需求,对应数据库表名:tapd_stories

07、 输入 [ 07 ] , 开始 [ 同步缺陷]
同步缺陷,对应数据库表名:tapd_bugs

08、 输入 [ 08 ] , 开始 [ 同步任务 ]
同步任务,对应数据库表名:tapd_tasks

09、 输入 [ 09 ] , 开始 [ 同步测试计划 ]
同步测试计划,对应数据库表名:tapd_test_plans

10、 输入 [ 10 ] , 开始 [ 同步测试用例 ]
同步测试用例,对应数据库表名:tapd_tcases

11、 输入 [ 11 ] , 开始 [ 同步需求变更历史 ]
同步需求变更历史,对应数据库表名:tapd_story_changes

12、 输入 [ 12 ] , 开始 [ 同步缺陷变更历史 ]
同步缺陷变更历史,对应数据库表名:tapd_bug_changes

13、 输入 [ 13 ] , 开始 [ 同步发布评审 ]
同步发布评审,对应数据库表名:tapd_launch_forms

14、 输入 [ 14 ] , 开始 [ 同步发布计划 ]
同步发布计划,对应数据库表名:tapd_releases

15、 输入 [ 15 ] , 开始 [ 同步关联关系 ]
同步关联关系,对应数据库表名:tapd_relations

16、 输入 [ 16 ] , 开始 [ 同步模块 ]
同步模块,对应数据库表名:tapd_modules

17、 输入 [ 17 ] , 开始 [ 同步花费 ]
同步花费,对应数据库表名:tapd_timesheets

18、 输入 [ 18 ] , 开始 [ 同步迭代 ]
同步迭代,对应数据库表名:tapd_iterations

19、 输入 [ 19 ] , 开始 [ 同步评论 ]
同步评论,对应数据库表名:tapd_comments

97、 输入 [ 97 ] , 开始 [ 删除配置文件 ]
删除配置文件,将删除之前的配置文件

98、 输入 [ 98 ] , 开始 [ 重置配置文件 ]
重新设定配置参数,在变更用户名、密码时可以使用

99、 输入 [ 99 ] , 开始 [ 初始化数据库 ]
第一次使用时,可以调用此方法进行数据库初始化
默认情况下,在重置配置文件后会进行调用,需要人工确认


配置文件设定
>>>>>>>>>> 1、Api_User  - API帐号
>>>>>>>>>> 2、Api_Password  - API口令
>>>>>>>>>> 3、CompanyId  - 公司ID
>>>>>>>>>> 4、PageLimit  - 每次请求最大数量(1-200)
>>>>>>>>>> 5、RetryLimit  - 出错后重试次数(1-10)
>>>>>>>>>> 6、IsKeepHistory  - 是否保留历史记录(0-不保留,1-保留)
>>>>>>>>>> 7、DataBaseConn  - 数据库连接配置(数据库仅支持Mysql,其他数据库请自行开发
DataBaseConn 请参考如下配置:
Server=xx;Database=Tapd;User=xx;Password=xx;pooling=False;port=xx;Charset=utf8;Allow Zero Datetime=True;

注意事项:
1、请务必通过本程序进行设置
2、设置后参数为加密参数,不支持手动修改
3、如需修改参数,请重置配置文件
4、重置配置文件时,请视自身情况决定是否要进行数据库初始化
5、深度使用满6个月后可以联系客服,申请api的内测的资格,申请通过后,可以在公司管理--api开放中申请api账号



采集日志
所有采集的动作会记录对应的日志,在程序目录的log文件夹下
1、log.log                         带有时间戳的日志,可以查看具体操作明细对应的时间
2、log_console.log           控制台的日志,可以查看具体操作明细
3、log_error.log                错误日志,可以查看出错后错误对应内容
4、log_debug.log             调试日志,默认不输出,需要调整  NLog.config 进行配置,为具体数据内容


关于程序的调用(仅供参考,请按实际情况配置)

需要提前安装.net Core Runtime

跳转至目录:Cd %TapdCollect%\
手工执行:dotnet TapdCollect.dll
自动执行(单个功能):dotnet TapdCollect.dll 1
自动执行(多个功能):dotnet TapdCollect.dll 1 2 3 4 5 6 7 8 13 14 15 16 17 18 19 11 12
多个功能的配置,请在每个功能参数后面加上空格


其他平台:请自行前往MicroSoft网站查找

定时任务的配置(仅供参考)
1、先行配置bat的脚本
2、设置定时任务
注意事项:
        1、起始于务必填写程序所在目录,不然配置文件会被定时任务配置到%windows%\system32\下
         2、起始于不能加双引号,不然是无效的
         3、程序或脚本选择之前配置好的bat文件,建议选择自动运行的脚本

3、设置触发条件(建议根据实际情况和需求设定)
注意事项:
        1、建议根据实际情况设置,可以一天同步一次,也可以几小时同步一次
        2、但建议不要小于一小时同步一次,因为Tapd的请求是有时间限制的,理论上是1Req/S
        3、Tapd请求过多会抛出请求过多的错误



暂时就想到这些了,数据库表结构的话,初始化后,看DDL都有备注,请自行查看
如果使用上有什么问题,请跟帖回复,反馈给我吧~谢谢!!