好吧,目前我有两个目标。
我想使用importxml.pl导入错误,但我不希望在DB中有新的条目。我只想在bug.xml文件的基础上修改bugzilla现有bug的一些字段,其中包含bug信息。
即。 perl -T C:\ bugzilla \ bugzilla \ importxml.pl -v C:\ bugzilla \ bugzilla \ mybugs \ bug.xml
可能会关注API可能会有所帮助,但我不确定。
http://www.bugzilla.org/docs/tip/en/html/api/Bugzilla/WebService/Bug.html#update
那么,实现这些目标的可能方法是什么?
正如我所想,可能是我应该将这些API的方法用于现有的bugzilla代码,我的梦想是:
但我不确定,无论是对还是错。我也不知道如何使用这些API的方法??
答案 0 :(得分:0)
email_in.pl脚本可以执行您要求的类型。但是,您需要创建一个有权进行更改的用户,并且您需要将数据转换为email_in.pl可以理解的格式。
答案 1 :(得分:0)
我可以帮助解决第一点:
这是我修改的svn_bz_append.pl脚本(http://www.telegraphics.com.au/svn/svn_bz/trunk/)的摘录,我用它来更新svn提交的bugzilla注释。请注意,我将此脚本与Bugzilla安装在同一台计算机上运行,因为它使用Bugzilla目录中的模块。我有这个适用于Bugzilla v 4.2.3。
我已经省略了相当多的这个脚本来摘录下面的摘录:
use strict;
use warnings;
use Bugzilla;
use Bugzilla::Config;
use Bugzilla::Bug;
use Data::Dumper;
...创建/获取用户ID以及一些工作的错误...
例如:
my $userid = 1;
my @bugs = ( 1, 2, 3 );
my $message = 'Say something here';
...现在循环播放错误ID并添加评论......
foreach my $bugId (@bugs) {
my $user = new Bugzilla::User({ id => $userid})
|| ThrowUserError('invalid_username', { id => $userid}); #get the user from bugzilla
print STDERR 'user: '. Dumper($user); #pretty prints the user object
Bugzilla->set_user($user); #this authenticates the user so that you may perform actions on bugs that the user has permissions to.
my $bug = Bugzilla::Bug->check($bugId); #gets the bug
print STDERR 'bug: '. Dumper($bug); #pretty prints the bug object
$bug->add_comment($message); #adds a comment to the bug
$bug->update(); #updated the bug - don't forget to do this!
}
请注意,Dumper功能只使用优秀的Data :: Dumper模块:http://perldoc.perl.org/Data/Dumper.html - 除了调试之外你不需要它们。
登录信息来自:How can I authenticate when using the Bugzilla Perl API in a script?