15

The repository that I am looking at has a great number of issues that I would like to read but it's not manageable while scrolling in GitHub interace. Is there an option to export or print a full list of issues for a repository?

4 Answers 4

15

There is an Issues API. To get all issues from a repo, you can use cURL:

curl -i https://api.github.com/repos/username/reponame/issues

This returns a JSON encoded list of all issues. And …

curl -i https://api.github.com/repos/username/reponame/issues?status=open

… returns all open issues. Now you just have to convert the JSON to CSV and you are set.

3
  • Thank you very much for drawing attention to existing GitHub API. Commented Jun 15, 2013 at 21:42
  • 6
    If the repository is private or you have 2-factor auth enabled, you can still get to this easily by going into Github and creating an application token, and using it like this: curl -X GET -u yourapplicationtoken:x-oauth-basic https://api.github.com/repos/username/reponame/issues?state=all
    – Unixmonkey
    Commented Jan 8, 2015 at 16:16
  • The application token for curl -X GET -u yourapplicationtoken:x-oauth-basic https://api.github.com/repos/username/reponame/issues?state=all must have the repo scope selected. Otherwise the permission is not granted and you get an 404 error.
    – k_o_
    Commented Apr 4, 2019 at 23:46
5

You can issue hub command for that.

  1. Clone the repo.
  2. Install hub (e.g. on macOS run: brew install hub).
  3. Run: hub issue in your repo directory to list the open issues (it's in Markdown format).

See: hub --help for more info:

These GitHub commands are provided by hub:

   pull-request   Open a pull request on GitHub
   fork           Make a fork of a remote repository on GitHub and add as remote
   create         Create this repository on GitHub and add GitHub as origin
   browse         Open a GitHub page in the default browser
   compare        Open a compare page on GitHub
   release        List or create releases (beta)
   issue          List or create issues (beta)

usage: git issue

List summary of the open issues for the project that the "origin" remote points to.

Note: Above reads git issue, because it expects that you've alias hub to git (GH-966), e.g.

alias git=hub

Other alternative is to use some tools such as: IssuesDownload (Java app), export_repo_issues_to_csv.py, etc.

3
  • This doesn't work. issue (or issues) is not a hub subcommand.
    – Catherine
    Commented Jan 2, 2017 at 13:01
  • @whitequark I've got hub 2.2.3 and it has hub issue command. See: help.go.
    – kenorb
    Commented Jan 2, 2017 at 13:22
  • 1
    Oh! I haven't realized hub was rewritten in go and was using the Ruby gem.
    – Catherine
    Commented Jan 2, 2017 at 15:23
1

I've cooked up this helper: https://runkit.io/fiatjaf/586a5b3110e9fd0014ff8aa7/branches/master/formspree/formspree?status=open which uses GitHub API.

Replace formspree/formspree with your own user and repository name. It is a RunKit endpoint. The source code is at https://runkit.com/fiatjaf/586a5b3110e9fd0014ff8aa7.

-1

You could try GitHub CSV Tools, it's a command line program that allows you to export the issues to CSV.

1
  • While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. - From Review
    – serenesat
    Commented Nov 23, 2021 at 5:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.