wiki:TicketImportPlugin

Version 52 (modified by figaro, 9 years ago) (diff)

Added maintainer

Import or update tickets in batch from an Excel or CSV file into Trac

Description

This plugin lets you import into Trac a series of tickets from a CSV file or, from an Excel file if the xlrd library is installed.

You can also use it to modify tickets in batch, by saving a report as CSV, editing the CSV file, and re-importing the file.

This plugin is very useful when starting a new project: you can import a list of requirements that may have come from meeting notes, a list of features, other ticketing systems, etc. It is also great to review the tickets off-line, or to perform changes to tickets in bulk.

Based on the ticket id (or, if no id exists, on the summary) in the imported file, tickets are either created or updated.

References to other tickets, such as the ones used in MasterTicketsPlugin, should be handled correctly, at least for the initial import.

It is used by software products development teams daily on several projects in at least three companies.

See also: ExportImportXlsPlugin

Known issues

There are very few known issues, please report any problem you encounter.

In general, it's better to use Excel than CSV, as CSV files have limitations, character sets in particular.

This plugin is not designed to help you migrate tickets from one system to another: it cannot keep the ticket numbers when creating new tickets, nor does it keep the history for existing tickets. See #4783 and #5504 for details.

Finally, this plugin is maintained for Trac 0.11 and above: the 0.10 builds are known to work, but do not have the latest features (importing comments, in particular).

defect

34 / 39

enhancement

9 / 15

task

2 / 2

Japanese localization

A Japanese localization has been done, you can access it at http://sourceforge.jp/projects/shibuya-trac/wiki/plugins%2FTicketImportPlugin, although it may not be the latest version.

Installation

Machine-wide installation

For a machine-wide installation, run as root on your machine:

  • easy_install http://trac-hacks.org/svn/ticketimportplugin/0.10 for Trac 0.10, or
  • easy_install http://trac-hacks.org/svn/ticketimportplugin/0.11 for Trac 0.11 or 0.12.

Trac instance installation

For an installation for only one Trac instance (on Trac 0.10, requires the Admin plugin):

  • Download the code (requires Subversion): svn co http://trac-hacks.org/svn/ticketimportplugin/0.10 ticketimportplugin for Trac 0.10, or svn co http://trac-hacks.org/svn/ticketimportplugin/0.11 ticketimportplugin for Trac 0.11 or 0.12
  • Build by hand: cd ticketimportplugin; python setup.py bdist_egg
  • Install the egg created in the dist folder using the Admin UI in Trac.

xlrd installation (optional)

To be able to import Excel files, the Python library xlrd must be installed. On Windows, run the installer; on other platforms, just unzip the .zip file, and copy the "xlrd" folder that it contains into the "site-packages" folder of the Python lib. Example:

easy_install xlrd

To verify that it is correctly installed, run python -c 'import xlrd' from the command line: it should not generate an error.

Configuration

Restart Trac or your Apache server. The "TicketImport" plugin should now appear in the "Manage Plugins" page of the Admin tab. Enable it. If you don't have the Admin plugin (on 0.10), you need to enable the plugin by putting in your trac.ini file:

[components]
talm_importer.importer.* = enabled

This file can be found under the "conf" directory of your Trac instance.

Then, you need to give some user(s) the right to use the Import module. To do that, you must give them IMPORT_EXECUTE permission, either in the Admin UI (on 0.11) or with the admin command-line tool, like this:

trac-admin /your/trac/installation/folder permission add your_user IMPORT_EXECUTE

Wish to personalize navigation label:

[mainnav]
importer.label = Import Tickets

Wish to modify label ordering:

[trac]
mainnav = wiki,browser,roadmap,...,importer,...,admin,search

If your Excel spreadsheets contain dates or date times, you can customize the format that will be used to import them:

[importer]
datetime_format=....

The format is the Python fstrtime.

Source

You can check out TicketImportPlugin from here using Subversion, or browse the source with Trac. You can also download the zipped source from [download:ticketimportplugin here].

Example

Once you have enabled the plugin and given yourself IMPORT_EXECUTE permission, you will see a new Import tab in the main navigation. This tab contains a complete documentation on exactly how the import works, as well as a form to select the CSV or XLS file to upload:

Screenshot of the Import screen

Once you have uploaded it, a preview screen shows what you will be importing and lets you confirm the import.

Importing tickets including history

To import tickets with history, they have to be imported in multiple go's. The first csv file should contain all tickets in new state. The second csv file the tickets in the next chosen states (can be any state known by the implemented ticket life cycle). Updates can include changes to the description, ownership and other fields.

Basically, the second and next csv file imports update the tickets imported from the first.

Tickets

assigned status tickets:

#12781
Allow field's labels and names in first line of csv file

new status tickets:

#4783
import preserving historic time stamps, needed i.e. for legacy projects
#6034
imported milestone column not handled, if no milestone present
#6070
Notification are not sent when tickets are imported (was: Email addresses as Usernames)
#7770
Match on custom field - Request
#8722
Sample worksheet to download
#8777
Provide a way to import CVS with multi-line fields
#8778
Provide a way to override the unique Summary requirement
#11343
Modify imported fields only

reopened status tickets:

#5504
importing new tickets with arbitrary pre-defined number rejected by trac
#10188
simple import failed

Change history for this plugin

18621 by jun66j5 on 2024-02-22 01:51:31
TicketImportPlugin: pass logging format and parameters rather than formatted string
18620 by jun66j5 on 2024-02-21 14:18:25
TicketImportPlugin: follow-up to r18418, fix compatible with Trac 1.6
18419 by jun66j5 on 2021-06-01 16:37:25
TicketImportPlugin: remove print for dumb debugging
(more)

Author/Contributors

Author: farialima
Maintainer: François Granade, jun66j5
Contributors:

Attachments (1)

Download all attachments as: .zip