Bugzilla has a framework you can use for migrating from other bug-tracking systems - Bugzilla::Migrate. It provides the infrastructure you will need, but requires a module to be written to define the specifics of the system you are coming from. One exists for Gnats. If you write one for a popular system, please share your code with us.
Alternatively, Bugzilla comes with a script, importxml.pl, which imports bugs in Bugzilla's XML format. You can see examples of this format by clicking the XML link at the bottom of a bug in a running Bugzilla. You would need to read the script to see how it handles errors, default values, creating non-existing values and so on.
Bugzilla::Migrate is preferred if possible.
This documentation undoubtedly has bugs; if you find some, please file them here.