# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # This Source Code Form is "Incompatible With Secondary Licenses", as # defined by the Mozilla Public License, v. 2.0. =head1 NAME Bugzilla::Extension::Example::Migrate::ImportBugs - Bugzilla example bug importer =head1 DESCRIPTION This is not a complete implementation of a Import module. For a working implementation see L. =cut package Bugzilla::Extension::Example::Migrate::ImportBugs; use strict; use base qw(Bugzilla::Migrate); use Bugzilla::Constants; use Bugzilla::Install::Util qw(indicate_progress); use Bugzilla::Util qw(format_time trim generate_random_password); use constant REQUIRED_MODULES => [ { package => 'Email-Simple-FromHandle', module => 'Email::Simple::FromHandle', version => 0.050, }, ]; use constant FIELD_MAP => { 'Number' => 'bug_id', 'Category' => 'product', }; use constant VALUE_MAP => { bug_severity => { 'serious' => 'major', 'non-critical' => 'normal', }, bug_status => { 'feedback' => 'RESOLVED', 'released' => 'VERIFIED', }, }; use constant IMPORTBUGS_CONFIG_VARS => ( { name => 'default_email_domain', default => 'example.com', desc => <<'END', # Some users do not have full email addresses, but Bugzilla requires # every user to have an email address. What domain should be appended to # usernames that don't have emails, to make them into email addresses? # (For example, if you leave this at the default, "unknown" would become # "unknown@example.com".) END }, ); ######### # Hooks # ######### sub before_insert { my $self = shift; } ######### # Users # ######### sub _read_users { my $self = shift; } ############ # Products # ############ sub _read_products { my $self = shift; } ################ # Reading Bugs # ################ sub _read_bugs { my $self = shift; } sub _parse_project { my ($self, $directory) = @_; } 1;