Version 25 (modified by 15 years ago) (diff) | ,
---|
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 (if the xlrd library is installed) from an Excel file.
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.
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.
Based on the ticket id (or, if no id exists, on the summary) in the imported file, tickets are either created or updated.
It is used by software products development teams daily on several projects in at least three companies.
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, oreasy_install http://trac-hacks.org/svn/ticketimportplugin/0.11
for Trac 0.11.
Trac instance installation
For an installation for only one Trac instance (on Trac 0.10, requires the Admin plugin):
- Download
- TicketImport-0.6c-py2.4.egg for Trac 0.10 on Python 2.4, or
- TicketImport-0.6c-py2.5.egg for Trac 0.10 on Python 2.5, or
- TicketImport-0.7c-py2.4.egg for Trac 0.11 on Python 2.4, or
- TicketImport-0.7c-py2.5.egg for Trac 0.11 on Python 2.5.
- (sorry, no builds for Python 2.6 - I haven't installed it yet. Feel free to enter a ticket if you need it, maybe I'll do it)
- Install using the Admin UI in Trac.
xlrd installation (optional)
To be able to import Excel files, xlrd must be installed. xlrd is a Python library, not a Trac plugin. Take the latest binary from http://pypi.python.org/pypi/xlrd. On windows, run the installer; on other platforms, just unzip the .zip, and copy the "xlrd" folder that it contains, into the "site-packages" folder of the Python lib, for example:
mkdir tmp cd tmp curl http://pypi.python.org/packages/source/x/xlrd/xlrd-0.6.1.zip > xlrd-0.6.1.zip unzip xlrd-0.6.1.zip sudo cp -r xlrd-0.6.1/xlrd /usr/lib/python2.4/site-packages/
To verify that it's correctly installed, run python -c 'import xlrd'
from the command line: it should not cause 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:
[components] talm_importer.importer.* = enabled
in your trac.ini file (under the "conf" directory of your Trac instance).
Then, you need to give some user(s) the right to user 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
Bugs/Feature Requests
This plugin has been tested extensively on Trac 0.11, and a little on Trac 0.10. Please report any issue !
Existing bugs and feature requests for TicketImportPlugin are here.
If you have any issues, create a new ticket.
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:
Once you have uploaded it, a preview screen shows you what will be imported and let you confirm the import.
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
- 18418 by jun66j5 on 2021-06-01 16:32:28
-
TicketImportPlugin: make compatible with Trac 1.5.x and Python 3
- 18327 by jun66j5 on 2021-05-29 00:37:36
-
TicketImportPlugin: make compatible with Trac 1.4 and cosmetic changes (closes #14025)
- 18324 by jun66j5 on 2021-05-28 10:20:40
-
TicketImportPlugin: import
Ticket
class fromtrac.ticket.model
rather thantrac.ticket.web_ui
(refs #14025)
- 17418 by jun66j5 on 2019-07-24 08:39:13
-
TicketImportPlugin: skip empty rows from Excel 2007+
- 17417 by jun66j5 on 2019-07-24 08:37:38
-
TicketImportPlugin: fix unstable unit tests
- 17009 by jun66j5 on 2017-11-30 08:42:33
-
TicketImportPlugin: log trace back of the errors when unable to read an upload file
- 16997 by jun66j5 on 2017-11-21 02:56:52
-
TicketImportPlugin: use a stored value for formula when openpyxl is used (closes #13337)
- 16713 by jun66j5 on 2017-07-14 06:31:50
-
TicketImportPlugin: use new database api since Trac 1.0 (closes #13238)
- 16712 by jun66j5 on 2017-07-14 06:22:32
-
TicketImportPlugin: require
Trac>=0.12,<1.3
and remove uses ofTicket.time_changed
property
- 16709 by jun66j5 on 2017-07-13 07:19:13
-
TicketImportPlugin: use
format_to_html
rather thanwiki_to_html
- 16708 by jun66j5 on 2017-07-13 06:57:06
-
TicketImportPlugin: avoid crash on termination of
setup.py test
with openpyxl
- 16707 by jun66j5 on 2017-07-13 06:55:21
-
TicketImportPlugin: follow-up to [16394], skip test cases with masterticketsplugin if no egg files
- 16394 by rjollos on 2017-03-25 09:20:58
-
Remove eggs
- 16214 by jun66j5 on 2017-01-31 10:03:52
-
ticketimportplugin: fix openpyxl being unable to open temporary file without Excel file's extensions
- 16213 by jun66j5 on 2017-01-31 08:27:31
-
ticketimportplugin: support *.xlsx file format
- 16043 by jun66j5 on 2016-12-02 09:43:05
-
ticketimportplugin: use
EnvironmentStub
rather thanEnvironment
in unit tests
- 15949 by jun66j5 on 2016-11-10 18:57:59
-
ticketimportplugin: add missing file (refs #12931)
- 15948 by jun66j5 on 2016-11-10 15:13:59
-
ticketimportplugin: add support of Trac 1.1.2+ (closes #12931)
- 14097 by jun66j5 on 2014-08-17 01:09:08
-
ticketimportplugin: fixed a failure of unit tests with Trac 0.11.x
- 14096 by jun66j5 on 2014-08-17 00:45:07
-
ticketimportplugin: remove temporary environment on teardown of each test
- 14093 by jun66j5 on 2014-08-16 18:10:55
-
ticketimportplugin: fixed failures of unit tests with Trac 1.0 and later, also allow to run test by
python setup.py test
- 13313 by jun66j5 on 2013-07-02 15:34:37
-
ticketimportplugin: prevent reporting that the description has changes when a comment is posted even if the ticket isn't changed.
- 12819 by jun66j5 on 2013-03-27 17:24:04
-
TicketImportPlugin: fixed fatal errors with a malformed csv file and improved handling such a file
- 12818 by jun66j5 on 2013-03-27 15:02:54
-
TicketImportPlugin: fixed failures of
ImporterTestCase.test_celltypes_ticket_8804
- 11805 by farialima on 2012-07-27 17:18:03
-
test cases and workaround for #10188
- 11758 by farialima on 2012-07-23 13:22:44
-
Correctly handle case in relative fields
- 11755 by farialima on 2012-07-23 10:25:54
-
Added a test for import with ticket reference
- 11754 by farialima on 2012-07-23 09:55:41
-
Made all tests pass
- 11745 by farialima on 2012-07-20 18:07:57
-
Applied patch for #7812... not tested much, but it's not breaking anything :)
- 11744 by farialima on 2012-07-20 17:22:55
-
Fixed the tests so that they run on my machine. I hope they will run on other people's machines too :)
- 11514 by jun66j5 on 2012-04-25 03:54:28
-
Fixed unicode characters in id column when defaultencoding is ascii
- 11450 by jun66j5 on 2012-04-05 07:35:57
-
Fixed a problem acessing None with lack of the columns in a row
- 11449 by jun66j5 on 2012-04-04 06:31:07
-
Follow-up to r11448, adds test files for the changes
- 11448 by jun66j5 on 2012-04-03 12:17:49
-
Force to use 'new' if status of a new ticket is empty
- 11447 by jun66j5 on 2012-04-03 06:40:03
-
Add
*.ctl
files for Trac 0.11 and sort records before comparison
- 11210 by jun66j5 on 2012-01-28 15:02:34
-
Ignores more field values than the field names (refs #9730).
- 11136 by farialima on 2012-01-12 16:24:17
-
Second Temptative fix for #9684. It's really a bug in Agilo that we have to work around...
- 11135 by farialima on 2012-01-12 15:52:06
-
Upped version
- 11134 by farialima on 2012-01-12 15:36:27
-
Temptative fix for #9684
- 10634 by jun66j5 on 2011-09-02 12:22:41
-
Uses
Environment.get_known_users()
instead of accessing directly session table.
- 10633 by jun66j5 on 2011-09-02 08:03:23
-
Fixed a problem that
TypeError
raises when no missing field.
- 10230 by jun66j5 on 2011-05-24 16:28:06
-
fixed #8804, convert value of cell which is number, boolean or error cell to string.
- 10088 by jun66j5 on 2011-04-16 08:28:30
-
Uses
assertEquals
instead ofdifflib
in unit tests cause of difference in the output ofPrettyPrinter.format
between python 2.4 and 2.6.
- 10087 by jun66j5 on 2011-04-16 08:28:07
-
Fixed the problem with number cell in headers.
- 10076 by jun66j5 on 2011-04-13 03:28:08
-
Follow-up to r10049, fixes the problem with non-ascii field name
- 10049 by jun66j5 on 2011-04-08 14:00:20
-
fixed #8410, support charset encoding of csv file to import
- 10028 by farialima on 2011-04-05 15:18:43
-
Fixed tests for #8673
- 10026 by farialima on 2011-04-05 15:09:42
-
Fix for #8673
- 10018 by farialima on 2011-04-04 16:05:55
-
Fix for #8667
- 9772 by farialima on 2011-01-18 20:08:34
-
Fix for #8411
- 9736 by farialima on 2011-01-04 17:33:56
-
Fix for #8357: support Excel date and datetimes
- 9728 by farialima on 2011-01-04 02:34:06
-
Added a warning about non-ASCII characters for #4458
- 9727 by farialima on 2011-01-04 02:27:32
-
Fix for #7205
- 9726 by farialima on 2011-01-04 02:10:07
-
Fix for #7176
- 9725 by farialima on 2011-01-04 01:48:40
-
Fix for #7658 (i.e. not really a fix, but a better message)
- 9724 by farialima on 2011-01-04 01:12:47
-
test for the second part of #7679 ('project' custom field does not import): unable to reproduce
- 9723 by farialima on 2011-01-04 01:07:56
-
Fix for the first part of #7679 ('status' field does not import)
- 9716 by farialima on 2011-01-03 22:24:26
-
Fix for #6220
- 7890 by farialima on 2010-04-26 22:28:53
-
Made the tests pass on Trac 0.12
- 7882 by farialima on 2010-04-23 19:46:26
-
Fix to previous commit: made it run on Python2.4
- 7881 by farialima on 2010-04-23 18:16:56
-
Added support for \'comment\' column (import them as comments). Also a fix when a lookup starts with a space
- 5305 by farialima on 2009-02-23 19:25:01
-
Upped version and made a build with fix for bug #4458
- 5304 by farialima on 2009-02-23 19:10:24
-
fix for bug #4458
- 5303 by farialima on 2009-02-23 19:04:55
-
fix for bug #4458
- 5132 by farialima on 2009-01-14 14:26:09
-
Added test for #4450
- 5131 by farialima on 2009-01-14 14:03:34
-
fix for #4450, and a few cleanups
- 5093 by farialima on 2009-01-06 15:27:31
-
Fix for ticket #4392
- 5091 by farialima on 2009-01-05 16:06:01
-
moved 0.10 version to the 0.10 branch
- 5090 by farialima on 2009-01-05 16:03:08
-
upgraded to 0.11: use Genshi instead of Clearsilver
- 5084 by farialima on 2009-01-03 21:21:43
-
Created branch for 0.11
- 5083 by farialima on 2009-01-03 16:20:54
-
Initial import of the TicketImportPlugin. Version is 0.6. Tested on Trac 0.11, and probably working on Trac 0.10
- 5082 by farialima on 2009-01-03 14:56:33
-
New hack TicketImportPlugin, created by farialima
(more)
Author/Contributors
Author: farialima
Contributors:
Attachments (1)
-
import-wizard.png (206.2 KB) - added by 15 years ago.
Screenshot of the Import screen
Download all attachments as: .zip