如何将GitHub问题导出到Excel?

91
我如何将企业版GitHub存储库的所有问题导出到Excel文件中? 我尝试搜索了许多Stack Overflow答案,但没有成功。我也尝试过这个解决方案(将Git问题导出为CSV),但是遇到了“ImportError:找不到名称为requests的模块”错误。是否有任何工具或任何简单的方法可以将所有问题导出到Excel中?

您需要使用API来迭代每个要导出数据的存储库。我建议使用ruby octokit作为与GitHub快速交互的方法。如果您无法添加更多代码或详细信息,请注意此问题可能会被投票降低。 - osowskit
15个回答

1

你可以使用Python包PyGithub来完成它。

from github import Github
token = Github('personal token key here')
repo = token.get_repo('repo-owner/repo-name')
issues = repo.get_issues(state='all')
for issue in issues:
    print(issue.url)

这里我获取了URL,如果你想获取内容,只需更改'.URL'部分即可。 然后将问题链接或内容导出到CSV文件。


1

gh GitHub CLI现在集成了jq,使用--jq <expression>可使用jq表达式过滤JSON输出,如GitHub CLI手册中所述:https://cli.github.com/manual/gh_issue_list

TSV转储。

gh issue list --limit 10 --state all --json title,body --jq '["title","body"], (.[] | [.title,.body]) | @tsv' > issues-$(date '+%Y-%m-%d').tsv

CSV 转储

令人惊讶的是,000D Unicode 字符需要使用 tr $'\x{0D}' ' ' 进行过滤。

gh issue list --limit 10 --state all --json title,body --jq '["title","body"], (.[] | [.title,.body]) | @csv' | tr $'\x{0D}' ' ' > issues-$(date '+%Y-%m-%d').csv

0
GitHub的JSON API可以直接在Excel中使用Power Query进行查询。这确实需要一些关于如何将JSON转换为Excel表格格式的知识,但这是相当容易在Google上找到的。
以下是首先获取数据的步骤:
1. 在Excel中,在功能区上,点击“数据”>“从JSON获取数据”。在对话框中,输入API URL...的格式类似于(根据您的需求添加参数):https://api.github.com/repos/{owner}/{repo}/issues。
2. 将出现一个名为“访问Web内容”的对话框。
3. 在左侧,点击“基本”选项卡。
4. 在用户名文本框中,输入您的GitHub用户名。
5. 在密码文本框中,输入GitHub密码/个人访问令牌。
6. 点击“连接”。
7. Power Query编辑器将显示一个标有“记录”的项目列表。
现在,您可以在Google上搜索如何相应转换,以便将适当的问题数据显示为单个表格。

0

导出拉取请求可以将问题导出为CSV文件,该文件可以在Excel中打开。它还支持GitLab和Bitbucket。

从其文档中可以看到:

导出sshaw/git-link和sshaw/itunes_store_transporter中的打开PR和问题:

epr sshaw/git-link sshaw/itunes_store_transporter > pr.csv

导出padrino/padrino-framework中未由sshaw创建的打开拉取请求:

epr -x pr -c '!sshaw' padrino/padrino-framework > pr.csv

它有几个选项可用于过滤要导出的内容。


0
作为一次性任务,基于@Chip的“hub”推荐,在已经安装了GitBash提示符的Windows系统上构建:
  1. 下载最新的hub可执行文件(例如Windows 64位)https://github.com/github/hub/releases/并解压它(hub.exe在.../bin目录中)。

  2. 创建一个Github个人访问令牌https://github.com/settings/tokens,并将令牌文本字符串复制到剪贴板。

  3. 创建一个文本文件(例如在记事本中),用作输入文件到hub.exe...第一行是您的Github用户名,第二行粘贴个人访问令牌,后跟换行符(这样输入到hub时两行都会被处理)。这里我假设该文件是存储在仓库基目录下的infile.txt。

  4. 运行Git Bash...并记得cd(更改目录)到感兴趣的仓库!然后输入以下命令:

    <path_to_hub_folder>/bin/hub.exe issue -s all -f "%U|%t|%S|%cI|%uI|%L%n" < infile.txt > outfile.csv

  5. 然后使用“|”作为列分隔符打开文件。(并考虑在Github上删除个人访问令牌)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接