2

受信したすべてのバグがその製品のデフォルトの担当者に ASSIGNED としてマークされ、担当者によって解決されるまで ASSIGNED のままになるワークフローがあります。

その時点で、彼らは RESOLVED から ASSIGNED (たとえば、まだ完了していない) に戻るか、レポーターが満足したら CLOSED に戻ります。

最初の担当者が解決済みとマークしたときに、バグの担当者を報告者に自動的に変更するにはどうすればよいですか?

4

2 に答える 2

1

実際、これはBugzillaフックを使用すると非常に簡単です。拡張コードをどこに配置する必要があるかは、使用しているバージョンによって異なります。これは、急速に開発されている機能だからです。

現在のバージョンであるBugzilla3.6.1では、拡張子を呼び出したい場合Localは、ファイルを作成しますextensions/Local/Extension.pm

http://www.bugzilla.org/docs/3.6/en/html/api/Bugzilla/Extension.htmlは、拡張システム全体の概要です。

これに使用するフックはです。これは、オブジェクトが変更された後、データベースに書き込まれる前にbug_end_of_update呼び出されます。Bugzilla/Bug.pm

あなたがしていることについては、おそらく変更されているchangesかどうかを確認する必要があります。bug_statusその場合は、更新bugして所有者をレポーターに設定し、その変更をに追加しchangesます。

Bugzillaの主な開発者は通常、irc.mozilla.orgの#mozwebtoolsにあります。私の答えでは不十分な場合は、立ち寄って詳細についてチャットしてください。

于 2010-07-30T17:13:47.403 に答える
0

これは機能します: (CustomExtension.pm)

package Bugzilla::Extension::CustomExtension;
use strict;
use base qw(Bugzilla::Extension);

our $VERSION = '1.0';
use constant NAME => 'CustomExtension';

sub object_end_of_set_all {
    my ($self, $args) = @_;

    my $object = $args->{'object'};

    if ($object->isa('Bugzilla::Bug')) {
        if ($object->{'bug_status'} eq 'RESOLVED') {            # Bug has been RESOLVED
            $object->{'assigned_to'} = $object->{'reporter_id'};    # re-assign to Reporter
        }
    }
}

__PACKAGE__->NAME;
于 2012-12-07T20:51:48.280 に答える