TRAC Configure

上一篇 / 下一篇  2009-06-05 14:11:47 / 个人分类:Trac

公司一直在用TRAC作为BUG管理工具,原先我们用的是0.10版本的,一直用了两年,虽然期间也发现了TRAC 0.10中的一些不方便使用的地方,比如bug流程中没有测试的部分,经过流程上的口头统一还都可以克服. 但自从与我们的客户合作后,客户要求我们的TRAC能与他们的BUG库实现导入导出的对接,这下麻烦可来了.客户的BUG库比较复杂,有很多功能必须通过自定义才能实现, TRAC 0.10偏偏没有自定义的能力. 后来发现Trac 0.11可以实现自定义的功能,但需要配置一下, 0.11中的自定义功能:
1.Resolution 自定义
  • 在解决BUG的过程中,总有一些BUG是属于现在不解决,要以后解决的,那在选择resolution时,应该有一个选项能标识出以后修改.
  • 用ADMIN的权限登录TRAC,打开"ADMIN" TAB
  • 单击resolution
  • 添加一个项为"Deferred",保存
  • 现在登录试试,应该可以看到自定义的Deferred项了.
2.自定义字段
  • 在创建BUG的过程中,需要一些其它的选项,比如"是否属于回归测试BUG"等等, 但TICKET默认的字段中没有这些选项,这就需要管理员修改TRAC.INI文件.
  • 参考地址:http://trac.edgewall.org/wiki/TracTicketsCustomFields
  • 实例:要添加一个"是否属于回归测试BUG"的复选框
    • 管理员在某一PROJECTTRAC安装目录-Conf目录中找到 TRAC.ini 并双击打开
    • 在这个文档的最后面添加如下内容
    • [ticket-custom]
    • RT(这个名字根据自己的需要修改)= checkbox(类型)
      RT.label = Regression Testing(显示在TICKET中的字段名称)
      RT.value = 0(默认值是不选中,如果是1则默认值为选中状态)
    • 保存TRAC.ini
    • 刷新TRAC,创建一个TICKET,看一下是不是多出了一个复选框字段"是否属于回归测试BUG",且默认值为不选中状态.
3.将自定义字段显示在Test report中
  • 比如我想创建一个新的TEST REPORT,这个TEST REPORT可以查询出所有BUG,并且复选框字段"是否属于回归测试BUG"做为一列显示在这个TEST REPORT中,该如何操作呢?
  • 管理员单击View tickets TAB,然后在打开的页面中单击"CREATE NEW REPORT"
  • 输入TEST REPORT的名称,比如"All tickets for ** build"
  • 在Query for Report栏中输入如下SQL语句
  • SELECT
       id AS ticket,
       summary,
       component,
       status,
       resolution as Suebstatus,(CASE WHEN a.value='1' THEN 'yes' ELSE 'no' END) AS Regression,#自定义字段的别名为Regression,且在显示时,如果值=1就显示yes,如果值=0则显示no

      priority,
       t.type AS type,
       owner,
       strftime('%Y-%m-%d',time,'unixepoch') AS Created,#TRAC日期格式存的字符形式的,要想导入时显示的是日期格式,必须做一下格式的转换
       strftime('%Y-%m-%d',changetime,'unixepoch')AS Modified, description AS _description,
       reporter AS reporter
       b.value AS clientversion
      FROM ticket t
      LEFT OUTER JOIN ticket_custom a ON (t.id = a.ticket and a.name = 'rt - 在Trac.ini文件中定义的名称(用小写表示)')#联合自定义的字段
      LEFT OUTER JOIN ticket_custom b ON (t.id = b.ticket and b.name = 'clientversion')
      LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority'
      WHERE status IN ('new', 'assigned', 'reopened', 'closed') and version='** build'
      ORDER BY time desc
  • 保存,看一下这个TEST REPORT regression是不是做为一列显示出来呢!
4.自定义测试流程
  • 在TRAC 0.10版本中不能体现测试的流程,通过配置TRAC 0.11的workflow,可以把测试流程嵌入到BUG生命周期中.
  • 管理员在某一PROJECTTRAC安装目录-Conf目录中找到 TRAC.ini 并双击打开
  • 在这个文档的最后面添加如下内容
  • testing = new,accepted,needs_work,assigned,reopened -> testing
    testing.name = Submit to reporter for testing
    testing.permissions = TICKET_MODIFY

    reject = testing -> needs_work
    reject.name = Failed testing, return to developer

    pass = testing -> closed
    pass.name = Passes Testing
    pass.operations = set_resolution
    pass.set_resolution = fixed
  • 保存,无需重启SERVER. 打开一个open状态的BUG,看一下是不是多了"Submit to reporter for testing"的选项.
  • 选中"Submit to reporter for testing"的选项,并更新, 再看一下是不是现在成了三个选项"leave as testing","Failed testing, return to developer","Passes Testing".
5.将ASSIGN TO 字段改为下拉列表的形式
这个目前正在研究,我还不是特别的明白,可以把参考地址提供给大家共同研究:http://pacopablo.com/wiki/pacopablo/blog/set-assign-to-drop-down
6.TRAC独立版window系统下的安装
  • http://trac.edgewall.org/wiki/TracOnWindowsStandalone
  • 需要注意的是在create a Project Environment时候,除了填写PROJECT名称外,其它的均按默认操作,直接回车即可(C:\Python23\Scripts> python trac-admin C:\path\to\trac_env initenv)
  • 启动独立版的SERVER:C:\Python23\Scripts> python tracd --port 8000 C:\path\to\trac_env
  • 通过浏览器打开 http://localhost:8000/projectname
  • 注意事项: 打开浏览器后, 发现无法登录, 你只是以匿名用户的身份来REVIEW, 并没有创建的权限, 如果想要有这些功能还需要权限及用户设置, 这一块的东西相对比较复杂,我在项目中并没有用到这块, 我直接使用以下语句把匿名用户的权限提升到了ADMIN
  •  
    $ trac-admin /path/to/projenv permission add anonymous TRAC_ADMIN


TAG:

八袋长老的个人空间 引用 删除 八袋长老   /   2010-04-22 14:29:24
我刚刚看了第五点,我的理解是这样的:
将ASSIGN TO 字段改为下拉列表的形式需要做的只有一步:在trac.ini文件中将[ticket]部分的restrict_owner选项设置为"true"就可以了(http://trac.edgewall.org/wiki/TracTickets#Assign-toasDrop-DownList )。但是这样会显示在该项目注册过的用户,在你给的链接(http://pacopablo.com/wiki/pacopablo/blog/set-assign-to-drop-down)描述的是如何通过将一个用户加到assign to 的下拉框中。
八袋长老的个人空间 引用 删除 八袋长老   /   2010-04-22 14:18:07
看了你的这篇bug觉得写的很详细,很清楚。谢谢!
八袋长老的个人空间 引用 删除 八袋长老   /   2010-04-22 14:16:52
5
 

评分:0

我来说两句

Open Toolbar