2012-01-23 4 views
0

Я пытаюсь найти лучший способ импортировать все данные нашего маяка (которые я экспортировал как JSON) в JIRA, который хочет CSV-файл.Миграция из Маяка в Джира - Проблемы с импортом данных

У меня есть основная папка, содержащая множество подкаталогов, файлы JSON и вложения. Общий размер составляет около 50 МБ. JIRA позволяет импортировать CSV-данные, поэтому я думал о попытке конвертировать данные JSON в CSV, но все конверторы, которые я видел в Интернете, будут делать только файл, а не рекурсивно обрабатывать всю структуру папок, красиво создавая эквивалент CSV, который затем может быть импортированы в JIRA.

Есть ли у кого-нибудь опыт в этом или какие-либо рекомендации?

Спасибо, Джон

ответ

0

JIRA CSV импортер приобретает денормализованный вид каждый вопроса, со всеми полями, доступными в одной строке на вопрос. Я думаю, что самый быстрый способ - написать небольшой скрипт Python для чтения JSON и исправить минимальный CSV. Это должно дать вам вопросы и комментарии. Следите за тем, какой знак маяка соответствует каждому новому выпуску. Затем напишите еще один скрипт, чтобы добавить такие вещи, как вложения, используя API-интерфейс JIRA SOAP. Для JIRA 5.0 лучше использовать REST API.

+0

Спасибо за совет - это в основном то, что я делаю, но с PHP :) – jkhamler

+0

Итак, теперь у меня есть куча файлов CSV. Конечно, мне не нужно импортировать их по одному? Я не могу представить способ «массового импорта» CSV-файлов ...: -s – jkhamler

0

Мы просто прошли через Маяк к миграции JIRA и столкнулись с этим. Лучше всего сделать это в своем скрипте, начать с каталога экспорта верхнего уровня и пропустить каждый файл ticket.json. Затем вы можете создать главный файл CSV или JSON для импорта в JIRA, который содержит все билеты.

В Ruby (который является тем, что мы использовали), это будет выглядеть примерно так:

Dir.glob("path/to/lighthouse_export/tickets/*/ticket.json") do |ticket| 
    JSON.parse(File.open(ticket).read).each do |data| 
    # access ticket data and add it to a CSV 
    end 
end