convert Trac tickets to Github issues
Project description
Tratihubis converts Trac tickets to Github issues by using the following steps:
The user manually exports the Trac tickets to convert to a CSV file.
Tratihubis reads the CSV file and uses the data to create Github issues and milestones.
Installation
To install tratihubis, use pip or easy_install:
$ pip install tratihubis
If needed, this also installs the PyGithub package.
Usage
Information about Trac tickets to convert has to be provided in a CSV file. To obtain this CSV file, create a new Trac queries using the SQL statement stored in query_tickets.sql and query_comments.sql. Then execute the queries and save the results by clicking “Download in other formats: Comma-delimited Text” and choosing for example /Users/me/mytool/tickets.csv and /Users/me/mytool/comments.csv as output files.
Next create a config file to describe how to login to Github and what to convert. For example, you could store the following in ~/mytool/tratihubis.cfg:
[tratihubis] user = someone password = secret repo = mytool tickets = /Users/me/mytool/tickets.csv comments = /Users/me/mytool/comments.csv
Then run:
$ tratihubis ~/mytool/tratihubis.cfg
This tests that the input data and Github information is valid and writes a log to the console describing which operations would be performed.
To actually create the Github issues, you need to enable to command line option --really:
$ tratihubis --really ~/mytool/tratihubis.cfg
Be aware that Github issues and milestones cannot be deleted in case you mess up. Your only remedy is to remove the whole repository and start anew. So make sure that tratihubis does what you want before you enable --really.
In case the Trac users have different user names on Github, you can specify a mapping. For example:
users = johndoe: jdoe78, *: me
This would map the Trac user johndoe to the Github user jdoe78 and everyone else to the user me. The default value is:
users = *:*
This maps every Trac user to a Github user with the same name.
Limitations
Currently tratihubis only converts tickets with their descriptions and milestones. It also creates milestones as needed.
Github issues and comments have the user specified in the config as author, even if a different user opened the original Trac ticket or wrote the original Trac comment.
The following information is not converted:
Trac ticket details on type and resolution are discarded instead of converted to Github labels.
Trac Wiki markup remains instead of being converted to Github Markdown.
If you want to implement any of these features, create a fork and open a pull request at https://github.com/roskakori/tratihubis.
License
Copyright (c) 2012, Thomas Aglassinger. All rights reserved. Distributed under the BSD License.
Changes
Version 0.3, 2012-05-04
Added conversion of comments.
Added closing of issue for which the corresponding Trac ticket has been closed already.
Added validation of users issues are assigned to. They must have an active Github user.
Version 0.2, 2012-05-02
Added config option users to map Trac users to Github users.
Added binary in order to run tratihubis instead of python -m tratihubis.
Changed supposed issue number in log to take existing issues in account.
Version 0.1, 2012-05-01
Initial release.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file tratihubis-0.3.zip
.
File metadata
- Download URL: tratihubis-0.3.zip
- Upload date:
- Size: 25.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48a7006ae11340de987189291a0b77a0b47b51f512e66c3f652b493b28ede54e |
|
MD5 | 737fc7fd438874efe1857296054cde9c |
|
BLAKE2b-256 | 12879fe360bfe47bb45a982941d5207820ec7409a07100a274e31c4c8c7bb2ad |