Changes between Version 1 and Version 2 of TracImport
- Timestamp:
- Apr 30, 2019 4:37:54 PM (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracImport
v1 v2 1 = Importing ticket data =1 = Importing ticket data 2 2 3 == Bugzilla == 3 [[PageOutline(2-5,Contents,pullout)]] 4 4 5 Ticket data can be imported from Bugzilla using the [http://trac.edgewall.org/browser/trunk/contrib/bugzilla2trac.py bugzilla2trac.py] script, available in the contrib/ directory of the Trac distribution. 5 To migrate issue tickets from other issue-tracking systems into Trac or perform housekeeping actions on tickets or simply synchronize different databases, there are some tools, plugins and scripts available. 6 7 == !TicketImportPlugin 8 9 [https://trac-hacks.org/wiki/TicketImportPlugin TicketImportPlugin]: a plugin that lets you import or update into Trac a series of tickets from a '''CSV file''' or (if the [https://pypi.python.org/pypi/xlrd xlrd library] is installed) from an '''Excel spreadsheet'''. 10 11 == !ExportImportXlsPlugin 12 13 [https://trac-hacks.org/wiki/ExportImportXlsPlugin ExportImportXlsPlugin]: a plugin that adds an admin panel for exporting and importing tickets via '''XLS file'''. Requires the python packages xlwt/rxld. 14 15 == Bugzilla 16 17 [https://trac-hacks.org/wiki/BugzillaIssueTrackingPlugin BugzillaIssueTrackingPlugin]: a plugin that integrates Bugzilla issue data into Trac keeping TracLinks. Ticket data can be imported from Bugzilla using the [trac:browser:trunk/contrib/bugzilla2trac.py bugzilla2trac.py] script, available in the contrib/ directory of the Trac distribution. 6 18 7 19 {{{ … … 24 36 25 37 Currently, the following data is imported from Bugzilla: 26 27 * bugs 28 * bug activity (field changes) 29 * bug attachments 30 * user names and passwords (put into a htpasswd file) 38 * bugs 39 * bug activity (field changes) 40 * bug attachments 41 * user names and passwords (put into a htpasswd file) 31 42 32 43 The script provides a number of features to ease the conversion, such as: 33 34 * PRODUCT_KEYWORDS: Trac doesn't have the concept of products, so the script provides the ability to attach a ticket keyword instead. 35 36 * IGNORE_COMMENTS: Don't import Bugzilla comments that match a certain regexp. 37 38 * 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. 44 * PRODUCT_KEYWORDS: Trac has no concept of products, so the script provides the ability to attach a ticket keyword instead. 45 * IGNORE_COMMENTS: Don't import Bugzilla comments that match a certain regexp. 46 * 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. 39 47 40 48 For more details on the available options, see the configuration section at the top of the script. 41 49 42 == Sourceforge == 50 === Known Issues 51 {{{#!comment 52 Don't merge this section in the default page 53 }}} 54 [[TicketQuery(keywords=~bugzilla,status=!closed)]] 43 55 44 T icket data can be imported from Sourceforge using the [http://trac.edgewall.org/browser/trunk/contrib/sourceforge2trac.py sourceforge2trac.py] script, available in the contrib/ directory of the Trac distribution.56 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. 45 57 46 See #Trac3521 for an updated sourceforge2trac script. 58 == Jira 47 59 48 == Mantis == 60 [https://trac-hacks.org/wiki/JiraToTracIntegration JiraToTracIntegration]: a plugin that provides tools to import Atlassian Jira backup files into Trac. The plugin consists of a Python 3.1 commandline tool that: 61 - Parses the Jira backup XML file. 62 - Sends the imported Jira data and attachments to Trac using the [th:XmlRpcPlugin]. 63 - Generates a htpasswd file containing the imported Jira users and their SHA-512 base64 encoded passwords. 49 64 50 The mantis2trac script now lives at http://trac-hacks.org/wiki/MantisImportScript. You can always get the latest version from http://trac-hacks.org/changeset/latest/mantisimportscript?old_path=/&filename=mantisimportscript&format=zip 65 == Mantis 51 66 52 Mantis bugs can be imported using the attached script. 67 [https://trac-hacks.org/wiki/MantisImportScript MantisImportScript]: a script to import the following type of data from Mantis into Trac: 68 * bugs 69 * bug comments 70 * bug activity (field changes) 71 * attachments (as long as the files live in the mantis database, not on the filesystem). 53 72 54 Currently, the following data is imported from Mantis: 55 * bugs 56 * bug comments 57 * bug activity (field changes) 58 * attachments (as long as the files live in the mantis db, not on the filesystem) 73 == !PlanetForge 59 74 60 If you use the script, please read the NOTES section (at the top of the file) and make sure you adjust the config parameters for your environment. 75 [https://trac-hacks.org/wiki/PlanetForgeImportExportPlugin PlanetForgeImportExportPlugin]: this plugin exports Trac data (wiki, tickets, compoments, permissions, repositories, etc.) using the open format designed by the [https://gforge.inria.fr/projects/coclico/ COCLICO] project. It extends the webadmin panel and the 'trac admin ...' command. Has no 'import' feature. 61 76 62 mantis2trac.py has the same parameters as the bugzilla2trac.py script: 63 {{{ 64 mantis2trac - Imports a bug database from Mantis into Trac. 77 == Scarab 65 78 66 Usage: mantis2trac.py [options] 79 [https://trac-hacks.org/wiki/ScarabToTracScript ScarabToTracScript]: a script that migrates Scarab issues to Trac tickets. Requires [th:XmlRpcPlugin]. 67 80 68 Available Options: 69 --db <MySQL dbname> - Mantis database 70 --tracenv /path/to/trac/env - Full path to Trac db environment 71 -h | --host <MySQL hostname> - Mantis DNS host name 72 -u | --user <MySQL username> - Effective Mantis database user 73 -p | --passwd <MySQL password> - Mantis database user password 74 -c | --clean - Remove current Trac tickets before importing 75 --help | help - This help info 81 == Sourceforge 76 82 77 Additional configuration options can be defined directly in the script.78 }}} 83 [https://trac-hacks.org/wiki/SfnToTracScript SfnToTracScript]: importer of !SourceForge's new backup file (originated from #Trac3521). 84 Also, ticket data can be imported from Sourceforge using the [trac:browser:trunk/contrib/sourceforge2trac.py sourceforge2trac.py] script, available in the contrib/ directory of the Trac distribution. 79 85 80 == Jira ==86 == Other 81 87 82 The [http://trac-hacks.org/wiki/JiraToTracIntegration Jira2Trac plugin] provides you with tools to import Atlassian Jira backup files into Trac.88 Since Trac uses a SQL database to store the data, you can also custom-import from other systems by examining the database tables. Just go into [http://www.sqlite.org/sqlite.html sqlite] command line to look at the tables and import them from your application. 83 89 84 The plugin consists of a Python 3.1 commandline tool that: 90 === Comma delimited file - CSV 85 91 86 - Parses the Jira backup XML file 87 - Sends the imported Jira data and attachments to Trac using the [http://trac-hacks.org/wiki/XmlRpcPlugin XmlRpcPlugin] 88 - Generates a htpasswd file containing the imported Jira users and their SHA-512 base64 encoded passwords 92 See [trac:attachment:csv2trac.2.py:wiki:TracSynchronize csv2trac.2.py] for details. This approach is particularly useful if you need 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. 89 93 90 == Other == 94 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. 91 95 92 Since trac uses a SQL database to store the data, you can import from other systems by examining the database tables. Just go into [http://www.sqlite.org/sqlite.html sqlite] command line to look at the tables and import into them from your application. 93 94 === Using a comma delimited file - CSV === 95 See [http://trac.edgewall.org/attachment/wiki/TracSynchronize/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) 96 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. 97 98 === Using an Excel (.xls) or comma delimited file (.csv) === 99 This plugin http://trac-hacks.org/wiki/TicketImportPlugin lets you import into Trac a series of tickets from a CSV file or (if the xlrd library is installed) from an Excel file. 100 101 You can also use it to modify tickets in batch, by saving a report as CSV, editing the CSV file, and re-importing the tickets. 102 103 This plugin is very useful when starting a new project: you can import a list of requirements that may have come from meeting notes, list of features, other ticketing systems... It's also great to review the tickets off-line, or to do massive changes to tickets. 104 105 Based on the ticket id (or, if no id exists, on the summary) in the imported file, tickets are either created or updated. 106 107 96 ---- 97 See also: 98 * to import/export wiki pages: TracAdmin, 99 * to export tickets: TracTickets, TracQuery