Edgewall Software

This page documents the 0.12 release. Documentation for other releases can be found here.

Importing ticket data

By means of migrating from other issue-tracking systems, perform some external actions over tickets or simply synchronize different data bases, there are some available tools, plug-ins or scripts which lets you import or up-date tickets into Trac.

Below, follows a collection of some of those.

TicketImportPlugin

TicketImportPlugin
mainly, but not only, this plug-in lets you import or up-date into Trac a series of tickets from a CSV file or (if the xlrd library is installed) from an Excel file.

ExportImportXlsPlugin

ExportImportXlsPlugin
this plug-in add an admin panel for export and import tickets via XLS file.
  • It depends on the python packages xlwt/rxld.

Bugzilla

BugzillaIssueTrackingPlugin
integrates Bugzilla into Trac keeping TracLinks

Ticket data can be imported from Bugzilla using the bugzilla2trac.py script, available in the contrib/ directory of the Trac distribution.

$ bugzilla2trac.py
bugzilla2trac - Imports a bug database from Bugzilla into Trac.

Usage: bugzilla2trac.py [options]

Available Options:
  --db <MySQL dbname>              - Bugzilla's database
  --tracenv /path/to/trac/env      - full path to Trac db environment
  -h | --host <MySQL hostname>     - Bugzilla's DNS host name
  -u | --user <MySQL username>     - effective Bugzilla's database user
  -p | --passwd <MySQL password>   - Bugzilla's user password
  -c | --clean                     - remove current Trac tickets before importing
  --help | help                    - this help info

Additional configuration options can be defined directly in the script.

Currently, the following data is imported from Bugzilla:

  • bugs
  • bug activity (field changes)
  • bug attachments
  • user names and passwords (put into a htpasswd file)

The script provides a number of features to ease the conversion, such as:

  • PRODUCT_KEYWORDS: Trac doesn't have the concept of products, so the script provides the ability to attach a ticket keyword instead.
  • IGNORE_COMMENTS: Don't import Bugzilla comments that match a certain regexp.
  • STATUS_KEYWORDS: Attach ticket keywords for the Bugzilla statuses not available in Trac. By default, the 'VERIFIED' and 'RELEASED' Bugzilla statuses are translated into Trac keywords.

For more details on the available options, see the configuration section at the top of the script.

Known Issues

#2061
[patch] bugzilla2trac.py for postgresql
#2709
bugzilla2trac should convert descriptions LF->CRLF
#5278
ValueError: empty string for float() after migrating tickets from Bugzilla To Trac
#6753
bugzilla2trac.py: attachment.isobsolete has to be ignored
#6792
bugzilla2trac.py: attachments not imported correctly from bugzilla 2.32.2
#7141
bugzilla2trac.py default behavior of TRAC_CLEAN
#7333
[PATCH] bugzilla2trac.py: import Bugzilla version 2.18.4
#8427
bugzilla2trac.py dies inserting attachment with OSError Errno 21 against bugzilla 2222
#9940
[PATCH] improved bugzilla to trac conversion
#10504
[PATCH] bugzilla2trac.py: import Bugzilla version 4.0.1
#12547
cursor.execute() requires list or tuple for 2nd argument in bugzilla2trac.py

The adequate milestone for valid bugzilla2trac issue is usually not applicable, which means that fixes to the contributed script are not planned for a particular Trac release but can happen anytime.

Jira

JiraToTracIntegration
provides tools to import Atlassian Jira backup files into Trac. The plug-in consists of a Python 3.1 commandline tool that:
  • Parses the Jira backup XML file
  • Sends the imported Jira data and attachments to Trac using the XmlRpcPlugin
  • Generates a htpasswd file containing the imported Jira users and their SHA-512 base64 encoded passwords

Mantis

MantisImportScript
script to import from Mantis into Trac the following data:
  • bugs
  • bug comments
  • bug activity (field changes)
  • attachments (as long as the files live in the mantis db, not on the filesystem) .

PlanetForge

PlanetForgeImportExportPlugin
this plugin exports Trac data (wiki, tickets, compoments, permissions, repositories, etc.) using the open format designed by the COCLICO project. It extends the webadmin panel and the 'trac admin …' command. Still has no 'import' feature.

Scarab

ScarabToTracScript
script that migrates Scarab issues to Trac tickets

Sourceforge

SfnToTracScript
importer of SourceForge's new backup file (originated from #Trac3521)

Also, ticket data can be imported from Sourceforge using the sourceforge2trac.py script, available in the contrib/ directory of the Trac distribution.

Other

Since trac uses a SQL database to store the data, you can import from other systems by examining the database tables. Just go into sqlite command line to look at the tables and import into them from your application.

Comma delimited file - CSV

See csv2trac.2.py for details. This approach is particularly useful if one needs to enter a large number of tickets by hand. (note that the ticket type type field, (task etc…) is also needed for this script to work with more recent Trac releases) Comments on script: The script has an error on line 168, ('Ticket' needs to be 'ticket'). Also, the listed values for severity and priority are swapped.


See also:

Last modified 4 years ago Last modified on Nov 3, 2014, 3:38:21 AM
Note: See TracWiki for help on using the wiki.