Creating a CLI tool as an API client for the GitHub REST API
After looking at this example, we are able to easily access the GitHub API from our Go client. We can combine both of the techniques we learned in this chapter so far to come up with a command-line tool that consumes the GitHub API. Let us create a new command-line application which:
- Provides options to get repo details by username
- Uploads any file to GitHub gists (text snippets) with a given description
- Authenticates using a personal access token
Note
Gists are snippets provided by GitHub to store text content. For more details, visit https://gist.github.com.
Create a program called gitTool.go
in the githubAPI
directory. This will be the logic for the preceding program specification:
package main import ( "encoding/json" "fmt" "github.com/levigross/grequests" "github.com/urfave/cli" "io/ioutil" "log" "os" ) var GITHUB_TOKEN = os.Getenv("GITHUB_TOKEN") var requestOptions = &grequests.RequestOptions{Auth: []string...