2012-04-26 3 views
1

글쎄, 지금은 두 가지 목표가있다.기존 bugzilla 코드에서 bugzilla API를 사용하는 방법은 무엇입니까?

  1. 사용자는 bugzilla에서 버그 수정 권한이 없지만 해당 버그에 대한 의견을 쓰거나 게시해야합니다. 나는 이것이 다음 API에 의해 가능할 것이라고 생각하지만, 나는 bugzilla와 Perl을 처음 접했기 때문에 확신 할 수 없다.

  1. 내가 importxml.pl를 사용하여 버그를 가져올,하지만 난 DB에서 새 항목을 원하지 않는 http://www.bugzilla.org/docs/tip/en/html/api/Bugzilla/WebService/Bug.html#add_comment. 버그 정보를 담고있는 bug.xml 파일의 base에 bugzilla의 기존 버그의 일부 필드를 수정하고 싶습니다.

    즉 펄 -tc : \ 버그질라 \ 버그질라 \ importxml.pl -v C : \ 버그질라 \ 버그질라 \ mybugs \ bug.xml

도움이 될 수있는 API를 다음과 같은,하지만 난 아니라고 할 수 있음 확실한.

http://www.bugzilla.org/docs/tip/en/html/api/Bugzilla/WebService/Bug.html#update


따라서, 이러한 목표를 달성 할 수있는 방법은 무엇인가? 내가 생각하고 따라

, 나는 기존의 버그 질라 코드로 이러한 API의 방법을 사용해야 할 수 있고, 내 꿈은 다음과 같습니다

  • 의견은 버그 수정 권한이없는 사용자를 사용할 것
      .
    1. 일부 매개 변수를 전달하여 명령 줄에서 importxml.pl 스크립트를 실행하고 기존 버그의 일부 필드를 수정하겠습니다.

    그러나 나는 옳고 그른지 생각합니다. 나 또한 이러한 API의 메서드를 사용하는 방법을 모르겠다 ??

  • 답변

    0

    email_in.pl 스크립트는 요청한 유형의 작업을 수행 할 수 있습니다. 그러나 변경 권한이있는 사용자를 만들어야하고 email_in.pl이 이해할 수있는 형식으로 데이터를 변환해야합니다.

    http://www.bugzilla.org/docs/4.2/en/html/api/email_in.html

    0

    내가 첫 번째 점에 도움이 될 수 있습니다

    여기에 내가 SVN 커밋에 버그질라 의견을 업데이트하는 데 사용하는 수정 한 A A svn_bz_append.pl 스크립트 (http://www.telegraphics.com.au/svn/svn_bz/trunk/)에서 발췌 한 것입니다. Bugzilla 디렉토리 내에서 모듈을 사용하기 때문에이 스크립트는 Bugzilla 설치와 동일한 컴퓨터에서 실행됩니다. Bugzilla v 4.2.3에서이 작업을 수행했습니다. 나는이 스크립트의 아주 약간 아래 발췌를 꺼내 생략 한

    : 생성/...

    use strict; 
    use warnings; 
    
    use Bugzilla; 
    use Bugzilla::Config; 
    use Bugzilla::Bug; 
    
    use Data::Dumper; 
    

    ID와 IDS가 작동하는 몇 가지 버그를 가져 ...

    예 :

    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! 
    

    }

    가 온보드 기능은 바로 우수한 데이터를 사용하고 있는지 :: 덤퍼 모듈 참고 : http://perldoc.perl.org/Data/Dumper.html을 - 당신이 그들을 필요가 없습니다 디버깅을 제외하고.

    로그인 정보는 다음에서 유래되었습니다. How can I authenticate when using the Bugzilla Perl API in a script?