我有来自Jira和Github的大量错误,我想转移到Bugzilla。我可以通过Net :: Github API轻松地通过xml和Github获取Jira错误。问题在于在Bugzilla上创建错误。我有100%正确的登录信息,但错误不会提交。
我正在使用http://search.cpan.org/~bmc/WWW-Bugzilla-1.5/WWW/Bugzilla.pm
处找到的模块我注意到还有其他一些Bugzilla模块,比如WWW :: Bugzilla3,我认为它是Bugzilla的3.0.0版本。我是否使用错误的Bugzilla 4.0.1?
如果我只使用服务器,电子邮件和密码创建一个Bugzilla对象,该对象似乎正在正确登录,但之后无法获取任何产品,组件或版本。
编辑:我决定尝试使用Bugzilla3模块,但它确实有效。答案 0 :(得分:1)
解决方案是使用Bugzilla3模块,但并非所有功能都可以100%使用Bugzilla 4.0.1 ...它也缺乏更新提交的错误的能力,因此我们只是将所有错误移动到新组件,删除该组件,并再次运行脚本以进行补偿。
答案 1 :(得分:1)
我已经回答了一些可能对另一个SO问题有帮助的事情:How to use bugzilla API in existing bugzilla code?对于我找到的Google群组:https://groups.google.com/forum/#!topic/mozilla.support.bugzilla/7KEs5HqUtgo
这两个来源都是关于更新现有的bug,但我发现如果你查看Bugzilla源代码的bug.pm文件,你应该能够找到一些如何创建新bug的例子 - 我可以看到你UPDATING有问题,但是能够使用BZ3模块创建错误。
这里是我修改的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?