Как я могу экспортировать все мои проблемы из репозитория Enterprise GitHub в файл Excel? Я попытался найти ответы на многие ответы на переполнение стека, но не удалось. Я также пробовал это решение (экспортировал Git проблемы в CSV и получал ошибки "ImportError: No module named requests". Есть ли какой-либо инструмент или какой-либо простой способ экспортировать все проблемы с Excel?
Как экспортировать проблемы GitHub в Excel?
Ответ 1
Чтобы экспортировать из частного репо с помощью curl, вы можете запустить следующее:
curl -i "https://api.github.com/repos/<repo-owner>/<repo-name>/issues" -u "<user-name>"
Если пользователь имеет доступ к частному репо. Затем вы можете преобразовать полученный json в csv с помощью любого подходящего конвертера, как предложено в других ответах.
Найти ссылку на подтверждение здесь.
Ответ 2
Если это одноразовая задача, вы можете играть с GitHub WebAPI. Он позволяет экспортировать проблемы в формате JSON. Затем вы можете преобразовать его в Excel (например, используя онлайн-конвертер).
Просто откройте следующий URL-адрес в браузере, заменив {owner}
и {repo}
на реальные значения:
https://api.github.com/repos/{owner}/{repo}/issues?page=1&per_page=100
Ответ 3
Я попробовал методы, описанные в других комментариях относительно экспорта проблем в формате JSON. Работало нормально, но форматирование как-то облажалось. Затем в справке Excel я обнаружил, что он может напрямую обращаться к API-интерфейсам и аккуратно загружать данные из ответа JSON в мои листы Excel.
Google, которые я использовал, чтобы найти нужную мне помощь, был "excel power query web.content GET json". Я нашел видео How To Excel, которое очень помогло.
URL, который работал в запросе Excel (как и в других сообщениях):
https://api.github.com/repos/{owner}/{repo}/issues?page=1&per_page=100
Лично я также добавляю параметр & state = open, в противном случае мне нужно запросить сотни страниц. В какой-то момент я достиг лимита GitHub для неаутентифицированных вызовов API/час для моего IP-адреса.
Ответ 4
К сожалению, github.com не делает это проще.
В то же время, если у вас есть jq и curl, вы можете сделать это в две строки, используя что-то вроде следующего примера, который выводит номер выпуска, заголовок и метки (теги) и работает также для частных репозиториев (если вы не хотите чтобы отфильтровать по метке, просто удалите labels={label}&
часть URL). Вам нужно будет заменить владельца, репо, метку и имя пользователя:
echo "number, title,tags" > issues.csv
curl "https://api.github.com/repos/{owner}/{repo}/issues?labels={label}&page=1&per_page=100" -u "username" \
| jq -r '.[] | [.number, .title, (.labels|map(.name)|join("/"))]|@csv' >> issues.csv
Обратите внимание, что если ваши данные превышают 1 страницу, это может потребовать дополнительных звонков
Ответ 5
Оболочка командной строки hub для github делает это довольно просто.
Вы можете сделать что-то вроде этого:
$ hub issue -f "%t,%l%n" > list.csv
что дает вам что-то вроде этого
$ more issue.csv
Issue 1 title, tag1 tag2
Issue 2 title, tag3 tag2
Issue 3 title, tag1
Ответ 6
Export Pull Requests может экспортировать проблемы в файл CSV, который можно открыть в Excel. Он также поддерживает GitLab и Bitbucket.
Из его документации:
Экспортируйте открытые PR и вопросы в sshaw/git-link и sshaw/itunes_store_transporter:
epr sshaw/git-link sshaw/itunes_store_transporter> pr.csv
Экспортировать открытый запрос извлечения, не созданный sshaw в padrino/padrino-framework:
epr -x pr -c '! sshaw' padrino/padrino-framework> pr.csv
У него есть несколько вариантов фильтрации того, что экспортируется.