It is way more challenging than it should be to export GitHub issues to Excel . In the past, prior to Two Factor Authentication, you could use curl with your username and password to return JSON.

curl -i "{repo_name}/{project_name}/issues" -u "{user_name}"

Unfortunately, you need Two Factor Authentication turned on for your GitHub organization. We require all of the organizations that AllCode works with to turn on Two Factor Authentication.
For querying GitHub’s REST API with two factor authentication, your best solution is to make use of a Personal Access Token, but in order for the Personal Access Token to work, your app needs to be a GitHub App or OAuth App. None of our repos are.
So how do you dump all of your GitHub Issues to Excel so you can share the issues with the client. The answer is you make use of the hub command line utility. To get started,

  1. Clone the repo from GitHub into your working directory.
  2. Install hub (e.g. on macOS run: brew install hub). If you don’t have Homebrew, you can find it here
  3. Run: hub issue in your repo directory to list the open issues (it’s in Markdown format).
  4. If you have Two Factor Authentication turned on, you’ll be prompted for your username, password, and two factor authentication code.
  5. Supply the appropriate credentials for your GitHub account
  6. Run the follow command in the terminal hub issue -f "Issue|%I%nTitle|%t%nBody|%b%n%n" > GitHubIssues-01032019.txt

You’ll notice that the printf formatting is a little tricky. Details on this formatting are here.

-f, –format FORMAT

Pretty print the contents of the issues using format FORMAT (default: “%sC%>(8)%i%Creset %t% l%n”). See the “PRETTY FORMATS” section of git-log(1) for some additional details on how placeholders are used in format. The available placeholders for issues are:

%I: issue number

%t: title

%b: body

Hub Issue Formatting can be found here.

This command will generate a pipe delimited text file with the main attributes on the first line, and the body on 2 through n lines. The body of our issues are typically verbose.

Now open your GitHubIssues-01032019.txt file in Excel. When you’re prompted by Excel to specify Fixed Width or Delimiter, specify the pipe as the delimiter. You should be good to go.

Export GitHub Issues to Excel

Export GitHub Issues to Excel

Joel Garcia
Joel Garcia

Joel Garcia has been building AllCode since 2015. He’s an innovative, hands-on executive with a proven record of designing, developing, and operating Software-as-a-Service (SaaS), mobile, and desktop solutions. Joel has expertise in HealthTech, VoIP, and cloud-based solutions. Joel has experience scaling multiple start-ups for successful exits to IMS Health and Golden Gate Capital, as well as working at mature, industry-leading software companies. He’s held executive engineering positions in San Francisco at TidalWave, LittleCast, Self Health Network, LiveVox acquired by Golden Gate Capital, and Med-Vantage acquired by IMS Health.