Bugzilla的数据是用MySQL进行存储的。
因此,如果要将Bug数据输出的excel中,就要在excel中建立数据连接,来连接到mysql。
但默认情况下,excel中的数据源是没有mysql的,因此在连接前,要做一部分准备工作。
在准备工作前,先说明一下环境:
1、 MySql 安装在Linux服务器上,地址192.168.0.11 端口3306,MySql版本5.0以上
2、 使用winxp系统,Office2007中的Excel进行远程连接
3、 准备好MySql的ODBC插件,下载地址:http://dev.mysql.com/downloads/connector/odbc/
我这里下载的是mysql-connector-odbc-5.1.7-win32.msi
下面开始介绍准备工作:
1、在MySQL中添加为Excel要访问的数据添加一个用户,我这里的Excel仅需要访问数据,不需要修改数据(一般不要让Excel去修改数据,否则可能会引起Bugzilla运行异常),因此我建了一个test用户,User:test PWD:test,创建用户命令如下:
GRANT SELECT ON bugs.* TO 'test'@'192.168.0.%' IDENTIFIED BY 'test'
这样在MySQL中创建了一个用户,该用户只对Bugs(Bugzilla的数据库)有select的权限,且只能在192.168.0.XXX的网段使用。
2、在Windows中安装mysql-connector-odbc-5.1.7-win32.msi
3、打开控制面板,选择“管理工具”中的“数据源(ODBC)”,然后添加用户DSN,在添加DSN的界面选择 MySQL ODBC 5.1 Driver,确定后将弹出MySQL的插件界面,要求输入DSN名称,主机地址,用户名密码以及选择数据库等。
例子:
Data Source Name: mybugzilla
Description: bugzilla
Server: 192.168.0.1
User: test
Password: test
Database: bugs
Port: 3306
在ubuntu下默认安装的Bugzilla的数据一般是Bugs或BugzillaX。
这样准备工作就完成了
开始使用:
打开Excel,选择数据源,只要选择 mybugzilla,然后根据需要选择Bugs中的数据表,数据就会出现在Excel中了。
备注1:创建视图
可以事先在MySQL创建视图如MyBugs,这样在上面的Excel中选择表的时候,直接选择MyBugs视图,就会显示视图中的数据了。
下面是我创建视图时使用的SQL语句:
CREATE VIEW viewbugs AS SELECT
a.bug_id as bugID,
a.short_desc as Headline,
a.bug_status as Status,
a.priority as priority,
a.bug_severity as Severity,
a.cf_fail_total as FailRate,
a.deadline as Deadline,
d.realname as Owner,
a.creation_ts as submit_date,
a.version as submit_ver,
e.realname as Submiter,
a.cf_found_from as FoundFrom,
a.cf_cause as RootCause,
a.cf_resolved_version as ResolvedVer,
a.cf_close_version as CloseVer,
f.realname as QA,
b.name as Project,
c.name as module,
g.thetext as Description
FROM bugs AS a LEFT JOIN products as b ON a.product_id = b.id
LEFT JOIN components as c ON a.component_id = c.id
LEFT JOIN profiles as d ON a.assigned_to = d.userid
LEFT JOIN profiles as e ON a.reporter = e.userid
LEFT JOIN profiles as f ON a.qa_contact = e.userid
LEFT JOIN longdescs as g ON a.bug_id = g.bug_id
其中以cf_开头的字段是我们使用时的自定义字段,要根据需要修改。
备注2:Mysql中的Bug库
1、预备知识:
在MySQL中,Bugzilla建立的数据表如下(对几个重要和需要导出数据的表格进行了解释):
attach_data
attachments
bug_group_map // 各组之间的关系表
bug_see_also
bug_severity // bug的严重级别
bug_status // bug 状态表
bugs // 存放的Bug数据
bugs_activity // bug活动, 当用户修改bug时,会在此表中增加修改的历史记录
bugs_fulltext // 完整的Bug描述以及开发人员增加的说明信息等,会存放在此表中
bz_schema // bug状态迁移的schema
category_group_map
cc
classifications // 产品大类
component_cc
components // 产品组件,即模块
dependencies
duplicates
email_setting
fielddefs // 用户自定义字段
flagexclusions
flaginclusions
flags
flagtypes
group_control_map // 群组控制的映射表,即群组权限
group_group_map // 群组对应表,即某个群组是否具有另外一个群组的权限
groups //群组
keyworddefs
keywords
login_failure
logincookies
longdescs // bug 描述,用Bug_id和Bugs表进行关联
milestones // 项目里程碑
namedqueries
namedqueries_link_in_footer
namedquery_group_map
op_sys
priority // bug 优先级
products // 产品列表
profile_setting
profiles // bug人员列表,人员id和Bugs表中的reporter,assigned_to,qa_contact等字段关联
profiles_activity
quips
rep_platform
resolution
series
series_categories
series_data
setting
setting_value
status_workflow
tokens
ts_error
ts_exitstatus
ts_funcmap
ts_job
ts_note
user_group_map
versions
viewbugs
votes
watch
whine_events
whine_queries
whine_schedules
--转自