发布网友 发布时间:2022-04-26 20:21
共1个回答
热心网友 时间:2023-10-28 19:09
其实原因是testlink的作者只实现了bugzilla集成的部分接口,其他的接口是要我们自己来写的。大家可以浏览一下testlink安装目录下的/lib/bugtracking,里面有好些文件,其中文件int_bugtracking.php是testlink和其他所有bug tracking系统(bugzilla, jira, mantis等)做集成的基类。还有一个文件叫int_bugzilla.php,这个文件就是testlink和bugzilla集成的代码,里面定义了一个类:bugzillaInterface,它是bugtrackingInterface的子类,并且在类bugzillaInterface里面重写了一部分方法,这也是为什么如果我们自己不修改代码的话,只能用到部分功能(例如只能连接,但却不能显示相关的信息)。 假如说,现在想在testlink关联bugzilla的一个bug之前,验证一下bug id是否存在,就要在int_bugzilla.php里面重写checkBugID_existence方法。 $query = "SELECT bug_id FROM {$this->dbSchema}.bugs WHERE bug_id='" . $id."'"; $query_results = $this->dbConnection->exec_query($query); if ($query_results && ($this->dbConnection->num_rows($query_results) == 1)) { return true; } return false; 如果要自己补充这个int_bugzilla.php的时候,需要一点php的知识,并且对bugzilla数据库有所了解,以前公司的同事告诉我用php的一个神器,varmp。你懂的。热心网友 时间:2023-10-28 19:09
其实原因是testlink的作者只实现了bugzilla集成的部分接口,其他的接口是要我们自己来写的。大家可以浏览一下testlink安装目录下的/lib/bugtracking,里面有好些文件,其中文件int_bugtracking.php是testlink和其他所有bug tracking系统(bugzilla, jira, mantis等)做集成的基类。还有一个文件叫int_bugzilla.php,这个文件就是testlink和bugzilla集成的代码,里面定义了一个类:bugzillaInterface,它是bugtrackingInterface的子类,并且在类bugzillaInterface里面重写了一部分方法,这也是为什么如果我们自己不修改代码的话,只能用到部分功能(例如只能连接,但却不能显示相关的信息)。 假如说,现在想在testlink关联bugzilla的一个bug之前,验证一下bug id是否存在,就要在int_bugzilla.php里面重写checkBugID_existence方法。 $query = "SELECT bug_id FROM {$this->dbSchema}.bugs WHERE bug_id='" . $id."'"; $query_results = $this->dbConnection->exec_query($query); if ($query_results && ($this->dbConnection->num_rows($query_results) == 1)) { return true; } return false; 如果要自己补充这个int_bugzilla.php的时候,需要一点php的知识,并且对bugzilla数据库有所了解,以前公司的同事告诉我用php的一个神器,varmp。你懂的。