Test Link integration with Fogbugz On Demand

上一篇 / 下一篇  2012-03-02 16:39:36 / 个人分类:Testlink

最近在研究Testlink集成Fogbugz。
Fogbugz提供了2种工作模式,一种是下载Fogbugz到本地进行安装配置,另一种方法是托管服务(Fogbugz On Demand),即向Fogbugz申请项目网址,不需要关心安装配置,只需要关心如何使用。
本公司使用的正是第2种模式,很不幸的是Testlink只提供了第1种方式的集成方法。
经过3天的研究,走了不少弯路,终于成功实现了Testlink与Fogbugz On Demand的集成,以下把研究的过程Share出来:
1. 搞明白Testlink集成BTS(Bug Tracking System)的原理
(1)Testlink是通过config.inc.php来确定与哪个BTS进行集成的,在些我们在[Bug Tracking System]部分中找到$g_interface_bugs = 'FOGBUGZ'
(2)Testlink通过lib/bugtracking/文件夹中相应类库(如 int_fogbugz.php)向Bug库发送请求并处理返回结果,发送请求时的参数需要在cfg文件夹中相应的配置文件(如fogbugz.cfg.php)进行设置。
  • 首先要搞清楚的问题是,  Fogbuz是如何处理请求并返回结果的?在网上搜索了一下,Fogbugz提供了Api接口,它可以处理按照一定格式发送的请求并返回Xml. API格式定义请参见:http://fogbugz.stackexchange.com/fogbugz-xml-api
  • 比如,你要想查询Fogbugz中的某个Bug并要求返回的结果中包括某个值,则要求按如下地址发送请求:htt://[Your Fogbugz Website]/?token=xxxxxxx&cmd=search&q=25&cols=sStatus
  • 其中token是登录后返回的值; cmd相当于执行的命令,可以是search也可是edit,new等等;q指要查询的关键字,可以是id号也可是其它;cols指search命令后可以返回的值,这个值可以有sStatus,sTtile等
  • 在网上已经有人将Fogbugz的API进行了封装,直接调用封装好的方法可以更方便的发送请求,参见网址https://github.com/LearningStation/fogbugz-php-api
  • 将其中的api.php下载下来,也可以从我上传的附件中得到,放置到testlink/third_library目录下的某个文件夹中,在这,我新建了一个叫‘fogbugz-api’ 
2. 修改int_fogbugz.php及fogbugz.cfg.php文件
 确定了这些发送请求的机制、格式及必须字段等,就可以对int.fogbugz.php及fogbugz.cfg.php文件进行修改了,修改后的代码参见附件.
3. 重启apache服务
4. 注意事项: 
   fogbugzapi.php需要调用php_curl.dll, 先做如下配置,否则会出现 Fatal error: Call to undefined function curl_init() 
1. 找到php.ini
    修改extension=php_curl.dll 把前面的分号去掉
2. Windows下处理方式: 在Php安装目录下找到如下模块并将其复制到windows/system32下,并重启Apache
    php5ts.dll
    libeay32.dll
    ssleay32.dll
3. Linux下需要安装php_curl扩展,生成curl.so文件




TAG:

 

评分:0

我来说两句

Open Toolbar