|
- Timestamp:
-
Jul 17, 2018, 2:12:48 PM (6 years ago)
- Author:
-
trac
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v1
|
v2
|
|
1 | | = Importing ticket data = |
2 | | [[PageOutline]] |
| 1 | = Importing ticket data |
3 | 2 | |
4 | | 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. |
| 3 | [[PageOutline(2-5,Contents,pullout)]] |
5 | 4 | |
6 | | Below, follows a collection of some of those. |
| 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. |
7 | 6 | |
8 | | == !TicketImportPlugin == |
| 7 | == !TicketImportPlugin |
9 | 8 | |
10 | | [http://trac-hacks.org/wiki/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 [http://pypi.python.org/pypi/xlrd xlrd library] is installed) from an '''Excel file'''. |
| 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'''. |
11 | 10 | |
12 | | == !ExportImportXlsPlugin == |
| 11 | == !ExportImportXlsPlugin |
13 | 12 | |
14 | | [http://trac-hacks.org/wiki/ExportImportXlsPlugin ExportImportXlsPlugin] :: this plug-in add an admin panel for export and import tickets via '''XLS file'''. |
15 | | * It depends on the python packages xlwt/rxld. |
| 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. |
16 | 14 | |
17 | | == Bugzilla == |
| 15 | == Bugzilla |
18 | 16 | |
19 | | [http://trac-hacks.org/wiki/BugzillaIssueTrackingPlugin BugzillaIssueTrackingPlugin] :: integrates Bugzilla into Trac keeping TracLinks |
| 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. |
20 | 18 | |
21 | | 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. |
22 | | |
23 | | {{{ |
| 19 | {{{#!python |
24 | 20 | $ bugzilla2trac.py |
25 | 21 | bugzilla2trac - Imports a bug database from Bugzilla into Trac. |
… |
… |
|
40 | 36 | |
41 | 37 | Currently, the following data is imported from Bugzilla: |
42 | | |
43 | | * bugs |
44 | | * bug activity (field changes) |
45 | | * bug attachments |
46 | | * 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 an htpasswd file) |
47 | 42 | |
48 | 43 | The script provides a number of features to ease the conversion, such as: |
49 | | |
50 | | * PRODUCT_KEYWORDS: Trac doesn't have the concept of products, so the script provides the ability to attach a ticket keyword instead. |
51 | | |
52 | | * IGNORE_COMMENTS: Don't import Bugzilla comments that match a certain regexp. |
53 | | |
54 | | * 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. |
55 | 47 | |
56 | 48 | For more details on the available options, see the configuration section at the top of the script. |
57 | 49 | |
58 | | == Jira == |
| 50 | == Jira |
59 | 51 | |
60 | | [http://trac-hacks.org/wiki/JiraToTracIntegration JiraToTracIntegration] :: provides tools to import Atlassian Jira backup files into Trac. The plug-in 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 [http://trac-hacks.org/wiki/XmlRpcPlugin XmlRpcPlugin] |
63 | | - Generates a htpasswd file containing the imported Jira users and their SHA-512 base64 encoded passwords |
| 52 | [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: |
| 53 | - Parses the Jira backup XML file. |
| 54 | - Sends the imported Jira data and attachments to Trac using the [https://trac-hacks.org/wiki/XmlRpcPlugin XmlRpcPlugin]. |
| 55 | - Generates a htpasswd file containing the imported Jira users and their SHA-512 base64 encoded passwords. |
64 | 56 | |
65 | | == Mantis == |
| 57 | == Mantis |
66 | 58 | |
67 | | [http://trac-hacks.org/wiki/MantisImportScript MantisImportScript] :: script to import from Mantis into Trac the following data: |
68 | | * bugs |
69 | | * bug comments |
70 | | * bug activity (field changes) |
71 | | * attachments (as long as the files live in the mantis db, not on the filesystem) . |
| 59 | [https://trac-hacks.org/wiki/MantisImportScript MantisImportScript]: a script to import the following type of data from Mantis into Trac: |
| 60 | * bugs |
| 61 | * bug comments |
| 62 | * bug activity (field changes) |
| 63 | * attachments (as long as the files live in the mantis database, not on the filesystem). |
72 | 64 | |
73 | | == !PlanetForge == |
| 65 | == !PlanetForge |
74 | 66 | |
75 | | [http://trac-hacks.org/wiki/PlanetForgeImportExportPlugin 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. |
| 67 | [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. |
76 | 68 | |
77 | | == Scarab == |
| 69 | == Scarab |
78 | 70 | |
79 | | [http://trac-hacks.org/wiki/ScarabToTracScript ScarabToTracScript] :: script that migrates Scarab issues to Trac tickets |
80 | | * Requires [http://trac-hacks.org/wiki/XmlRpcPlugin XmlRpcPlugin] |
| 71 | [https://trac-hacks.org/wiki/ScarabToTracScript ScarabToTracScript]: a script that migrates Scarab issues to Trac tickets. Requires [https://trac-hacks.org/wiki/XmlRpcPlugin XmlRpcPlugin]. |
81 | 72 | |
82 | | == Sourceforge == |
| 73 | == Sourceforge |
83 | 74 | |
84 | | [http://trac-hacks.org/wiki/SfnToTracScript SfnToTracScript] :: importer of !SourceForge's new backup file (originated from #Trac3521) |
| 75 | [https://trac-hacks.org/wiki/SfnToTracScript SfnToTracScript]: importer of !SourceForge's new backup file (originated from #Trac3521). |
| 76 | 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. |
85 | 77 | |
86 | | Also, ticket 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. |
| 78 | == Other |
87 | 79 | |
88 | | == Other == |
| 80 | 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. |
89 | 81 | |
90 | | 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. |
| 82 | === Comma delimited file - CSV |
91 | 83 | |
92 | | === Comma delimited file - CSV === |
93 | | See [http://trac.edgewall.org/attachment/wiki/TracSynchronize/csv2trac.2.py 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) |
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. |
| 84 | 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. |
| 85 | |
| 86 | 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. |
95 | 87 | |
96 | 88 | ---- |
|